ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilWhiteListUrlValidatorTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
24 {
25  public static function domainProvider(): array
26  {
27  return [
28  'Empty String / Empty Whitelist' => ['', [], false],
29  'Host without Schema / Empty Whitelist' => ['ilias.de', [], false],
30  'Schema with Host / Empty Whitelist' => ['https://ilias.de', [], false],
31  'Host without Schema' => ['ilias.de', ['ilias.de'], false],
32  'Schema with Host' => ['https://ilias.de', ['ilias.de'], true],
33  'Sub Domain' => ['https://www.ilias.de', ['ilias.de'], true],
34  'Multiple Sub Domains' => ['https://server01.www.ilias.de', ['ilias.de'], true],
35  'Multiple Sub Domains / Whitelist Entry with Leading Dot' => [
36  'https://server01.www.ilias.de',
37  ['.ilias.de'],
38  true
39  ],
40  'Multiple Sub Domains / Whitelist Entry with Sub Domain' => [
41  'https://server01.www.ilias.de',
42  ['www.ilias.de'],
43  true
44  ],
45  'Multiple Sub Domains / Whitelist Entry with Sub Domain and Leading Dot' => [
46  'https://server01.www.ilias.de',
47  ['.www.ilias.de'],
48  true
49  ],
50  'Multiple Sub Domains / Whitelist Entry with Multiple Sub Domains' => [
51  'https://server01.www.ilias.de',
52  ['server01.www.ilias.de'],
53  true
54  ],
55  'Multiple Sub Domains / Whitelist Entry with Multiple Sub Domains and Leading Dot' => [
56  'https://server01.www.ilias.de',
57  ['.server01.www.ilias.de'],
58  false
59  ],
60  ];
61  }
62 
66  public function testValidator(string $domain, array $whitelist, bool $result): void
67  {
68  $this->assertSame((new ilWhiteListUrlValidator($domain, $whitelist))->isValid(), $result);
69  }
70 }
testValidator(string $domain, array $whitelist, bool $result)
domainProvider