diff options
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/ConfigSchema/ValidatorTestCase.php')
-rw-r--r-- | lib/htmlpurifier/tests/HTMLPurifier/ConfigSchema/ValidatorTestCase.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/ConfigSchema/ValidatorTestCase.php b/lib/htmlpurifier/tests/HTMLPurifier/ConfigSchema/ValidatorTestCase.php new file mode 100644 index 000000000..87fa14d0d --- /dev/null +++ b/lib/htmlpurifier/tests/HTMLPurifier/ConfigSchema/ValidatorTestCase.php @@ -0,0 +1,44 @@ +<?php + +/** + * Controller for validator test-cases. + */ +class HTMLPurifier_ConfigSchema_ValidatorTestCase extends UnitTestCase +{ + + protected $_path, $_parser, $_builder; + public $validator; + + public function __construct($path) { + $this->_path = $path; + $this->_parser = new HTMLPurifier_StringHashParser(); + $this->_builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder(); + parent::__construct($path); + } + + public function setup() { + $this->validator = new HTMLPurifier_ConfigSchema_Validator(); + } + + function testValidator() { + $hashes = $this->_parser->parseMultiFile($this->_path); + $interchange = new HTMLPurifier_ConfigSchema_Interchange(); + $error = null; + foreach ($hashes as $hash) { + if (!isset($hash['ID'])) { + if (isset($hash['ERROR'])) { + $this->expectException( + new HTMLPurifier_ConfigSchema_Exception($hash['ERROR']) + ); + } + continue; + } + $this->_builder->build($interchange, new HTMLPurifier_StringHash($hash)); + } + $this->validator->validate($interchange); + $this->pass(); + } + +} + +// vim: et sw=4 sts=4 |