| 1 | <?php |
||
| 21 | class Rules extends atoum |
||
| 22 | { |
||
| 23 | public function provide() |
||
| 24 | { |
||
| 25 | $data = []; |
||
| 26 | $files = glob(__DIR__.'/samples/*-rules.ini'); |
||
| 27 | foreach ($files as $file) { |
||
| 28 | $rules = parse_ini_file($file, true); |
||
| 29 | $tmp = [ |
||
| 30 | file_get_contents(__DIR__.'/samples/'.basename($file, '-rules.ini').'.txt'), |
||
| 31 | $rules |
||
| 32 | ]; |
||
| 33 | $data[] = $tmp; |
||
| 34 | } |
||
| 35 | |||
| 36 | return $data; |
||
| 37 | } |
||
| 38 | |||
| 39 | /** |
||
| 40 | * @dataProvider provide |
||
| 41 | */ |
||
| 42 | public function testIntegration($content, array $rules) |
||
| 43 | { |
||
| 44 | $sut = LUT\Parser::parse($content); |
||
| 45 | |||
| 46 | foreach ($rules as $rule) { |
||
| 47 | $this |
||
| 48 | ->when($matched = $sut->match($rule['ua'], $rule['url'])) |
||
| 49 | ->then |
||
| 50 | ->boolean($rule['mode'] === 'allow') |
||
| 51 | ->isEqualTo($matched); |
||
| 52 | } |
||
| 53 | } |
||
| 54 | } |
||
| 55 |