48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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();
 | |
|     }
 | |
| 
 | |
|     public 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
 | 
