mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-14 01:08:41 +00:00
fac747bdbd
With minor corrections. Signed-off-by: Marcus Bointon <marcus@synchromedia.co.uk> Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
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
|