Skip to content

Commit 3d29f83

Browse files
committed
1 parent db586d7 commit 3d29f83

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/error_cases.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
require('./../autoload.php');
4+
5+
$parser = new PhpDom\Parser([
6+
'throw_errors' => true
7+
]);
8+
9+
$files = scandir('./error_cases');
10+
$files = array_diff($files, ['.', '..', './']);
11+
12+
foreach($files as $f) {
13+
if (isset($_GET['t']) && explode('.', $f)[0] !== $_GET['t']) {
14+
continue;
15+
}
16+
$file = './error_cases/'.$f;
17+
$content = file_get_contents($file);
18+
19+
list($html, $expected) = explode('=====', $content);
20+
21+
try {
22+
$parser->parse(new PhpDom\Source($html, $file));
23+
echo $file . ' failed because error expected'; die();
24+
} catch(Exception $e) {
25+
[$message, $f, $line] = explode('/', trim($expected));
26+
if (stripos($e->getMessage(), $message) === false || $e->getLine() != $line || stripos($e->getFile(), $f) === false) {
27+
dd($file, [$message, $f, $line], $e);
28+
}
29+
}
30+
}
31+
echo 'done';

0 commit comments

Comments
 (0)