106 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| class HTMLPurifier_AttrTransform_InputTest extends HTMLPurifier_AttrTransformHarness
 | |
| {
 | |
| 
 | |
|     public function setUp()
 | |
|     {
 | |
|         parent::setUp();
 | |
|         $this->obj = new HTMLPurifier_AttrTransform_Input();
 | |
|     }
 | |
| 
 | |
|     public function testEmptyInput()
 | |
|     {
 | |
|         $this->assertResult(array());
 | |
|     }
 | |
| 
 | |
|     public function testInvalidCheckedWithEmpty()
 | |
|     {
 | |
|         $this->assertResult(array('checked' => 'checked'), array());
 | |
|     }
 | |
| 
 | |
|     public function testInvalidCheckedWithPassword()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'checked' => 'checked',
 | |
|             'type' => 'password'
 | |
|         ), array(
 | |
|             'type' => 'password'
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     public function testValidCheckedWithUcCheckbox()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'checked' => 'checked',
 | |
|             'type' => 'CHECKBOX',
 | |
|             'value' => 'bar',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     public function testInvalidMaxlength()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'maxlength' => '10',
 | |
|             'type' => 'checkbox',
 | |
|             'value' => 'foo',
 | |
|         ), array(
 | |
|             'type' => 'checkbox',
 | |
|             'value' => 'foo',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     public function testValidMaxLength()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'maxlength' => '10',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     // these two are really bad test-cases
 | |
| 
 | |
|     public function testSizeWithCheckbox()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'type' => 'checkbox',
 | |
|             'value' => 'foo',
 | |
|             'size' => '100px',
 | |
|         ), array(
 | |
|             'type' => 'checkbox',
 | |
|             'value' => 'foo',
 | |
|             'size' => '100',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     public function testSizeWithText()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'type' => 'password',
 | |
|             'size' => '100px', // spurious value, to indicate no validation takes place
 | |
|         ), array(
 | |
|             'type' => 'password',
 | |
|             'size' => '100px',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
|     public function testInvalidSrc()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'src' => 'img.png',
 | |
|         ), array());
 | |
|     }
 | |
| 
 | |
|     public function testMissingValue()
 | |
|     {
 | |
|         $this->assertResult(array(
 | |
|             'type' => 'checkbox',
 | |
|         ), array(
 | |
|             'type' => 'checkbox',
 | |
|             'value' => '',
 | |
|         ));
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 | |
| // vim: et sw=4 sts=4
 | 
