'file', 'q' => 'quiet', ); htmlpurifier_parse_args($AC, $aliases); // Regenerate any necessary files shell_exec($AC['php'] . ' ../maintenance/flush.php'); $test = new TestSuite('HTML Purifier Multiple Versions Test'); $file = ''; $test_files = array(); require 'test_files.php'; if ($AC['file']) { $test_files_lookup = array_flip($test_files); if (isset($test_files_lookup[$AC['file']])) { $file = '--file=' . $AC['file']; } else { echo "Invalid file passed\n"; exit; } } // This allows us to get out of having to do dry runs. $size = count($test_files); foreach ($versions_to_test as $version) { $flush = ''; if (is_array($version)) { $version = $version[0]; $flush = '--flush'; } if (!$AC['only-phpt']) { if (!$AC['exclude-normal']) { $test->addTestCase( new CliTestCase( "$phpv $version index.php --xml $flush --disable-phpt $file", $AC['quiet'], $size ) ); } if (!$AC['exclude-standalone']) { $test->addTestCase( new CliTestCase( "$phpv $version index.php --xml $flush --standalone --disable-phpt $file", $AC['quiet'], $size ) ); } } if (!$AC['disable-phpt']) { // naming is not consistent $test->addTestCase( new CliTestCase( $AC['php'] . " index.php --xml --php \"$phpv $version\" --only-phpt", $AC['quiet'], $size ) ); } } // This is the HTML Purifier website's test XML file. We could // add more websites, i.e. more configurations to test. $test->addTestCase(new RemoteTestCase('http://htmlpurifier.org/dev/tests/?xml=1', 'http://htmlpurifier.org/dev/tests/?xml=1&dry=1&flush=1')); if ($AC['xml']) { $reporter = new XmlReporter(); } else { $reporter = new TextReporter(); } $test->run($reporter); shell_exec($AC['php'] . ' ../maintenance/flush-definition-cache.php');