ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilWhiteListUrlValidatorTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
27 final class ilWhiteListUrlValidatorTest extends TestCase
28 {
29  public static function domainProvider(): array
30  {
31  return [
32  'Empty String / Empty Whitelist' => ['', [], false],
33  'Host without Schema / Empty Whitelist' => ['ilias.de', [], false],
34  'Schema with Host / Empty Whitelist' => ['https://ilias.de', [], false],
35  'Host without Schema' => ['ilias.de', ['ilias.de'], false],
36  'Schema with Host' => ['https://ilias.de', ['ilias.de'], true],
37  'Sub Domain' => ['https://www.ilias.de', ['ilias.de'], true],
38  'Multiple Sub Domains' => ['https://server01.www.ilias.de', ['ilias.de'], true],
39  'Multiple Sub Domains / Whitelist Entry with Leading Dot' => [
40  'https://server01.www.ilias.de',
41  ['.ilias.de'],
42  true
43  ],
44  'Multiple Sub Domains / Whitelist Entry with Sub Domain' => [
45  'https://server01.www.ilias.de',
46  ['www.ilias.de'],
47  true
48  ],
49  'Multiple Sub Domains / Whitelist Entry with Sub Domain and Leading Dot' => [
50  'https://server01.www.ilias.de',
51  ['.www.ilias.de'],
52  true
53  ],
54  'Multiple Sub Domains / Whitelist Entry with Multiple Sub Domains' => [
55  'https://server01.www.ilias.de',
56  ['server01.www.ilias.de'],
57  true
58  ],
59  'Multiple Sub Domains / Whitelist Entry with Multiple Sub Domains and Leading Dot' => [
60  'https://server01.www.ilias.de',
61  ['.server01.www.ilias.de'],
62  false
63  ],
64  ];
65  }
66 
70  public function testValidator(string $domain, array $whitelist, bool $result): void
71  {
72  $this->assertSame((new ilWhiteListUrlValidator($domain, $whitelist))->isValid(), $result);
73  }
74 }
Class ilWhiteListUrlValidatorTest.
testValidator(string $domain, array $whitelist, bool $result)
domainProvider
Class ilWhiteListUrlValidator.