diff --git a/tests/HTMLPurifier/AttrTransform/BdoDirTest.php b/tests/HTMLPurifier/AttrTransform/BdoDirTest.php
index 0762359d..4f880046 100644
--- a/tests/HTMLPurifier/AttrTransform/BdoDirTest.php
+++ b/tests/HTMLPurifier/AttrTransform/BdoDirTest.php
@@ -5,29 +5,24 @@ require_once 'HTMLPurifier/AttrTransform/BdoDir.php';
class HTMLPurifier_AttrTransform_BdoDirTest extends HTMLPurifier_AttrTransformHarness
{
+ function setUp() {
+ parent::setUp();
+ $this->obj = new HTMLPurifier_AttrTransform_BdoDir();
+ }
+
function test() {
- $this->transform = new HTMLPurifier_AttrTransform_BdoDir();
-
- $inputs = array();
- $expect = array();
- $config = array();
-
- // add dir
- $inputs[0] = array();
- $expect[0] = array('dir' => 'ltr');
+ $this->assertResult( array(), array('dir' => 'ltr') );
// leave existing dir alone
- $inputs[1] = array('dir' => 'rtl');
- $expect[1] = array('dir' => 'rtl');
+ $this->assertResult( array('dir' => 'rtl') );
- $config_rtl = HTMLPurifier_Config::createDefault();
- $config_rtl->set('Attr', 'DefaultTextDir', 'rtl');
- $inputs[2] = array();
- $expect[2] = array('dir' => 'rtl');
- $config[2] = $config_rtl;
-
- $this->assertTransform($inputs, $expect, $config);
+ // use a different default
+ $this->assertResult(
+ array(),
+ array('dir' => 'rtl'),
+ array('Attr.DefaultTextDir' => 'rtl')
+ );
}
diff --git a/tests/HTMLPurifier/AttrTransform/ImgRequiredTest.php b/tests/HTMLPurifier/AttrTransform/ImgRequiredTest.php
index c410b29f..f8b89f44 100644
--- a/tests/HTMLPurifier/AttrTransform/ImgRequiredTest.php
+++ b/tests/HTMLPurifier/AttrTransform/ImgRequiredTest.php
@@ -5,28 +5,36 @@ require_once 'HTMLPurifier/AttrTransform/ImgRequired.php';
class HTMLPurifier_AttrTransform_ImgRequiredTest extends HTMLPurifier_AttrTransformHarness
{
+ function setUp() {
+ parent::setUp();
+ $this->obj = new HTMLPurifier_AttrTransform_ImgRequired();
+ }
+
function test() {
- $this->transform = new HTMLPurifier_AttrTransform_ImgRequired();
+ $this->assertResult(
+ array(),
+ array('src' => '', 'alt' => 'Invalid image')
+ );
- $inputs = $expect = $config = array();
+ $this->assertResult(
+ array(),
+ array('src' => 'blank.png', 'alt' => 'Pawned!'),
+ array(
+ 'Attr.DefaultInvalidImage' => 'blank.png',
+ 'Attr.DefaultInvalidImageAlt' => 'Pawned!'
+ )
+ );
- $inputs[0] = array();
- $expect[0] = array('src' => '', 'alt' => 'Invalid image');
+ $this->assertResult(
+ array('src' => '/path/to/foobar.png'),
+ array('src' => '/path/to/foobar.png', 'alt' => 'foobar.png')
+ );
- $inputs[1] = array();
- $expect[1] = array('src' => 'blank.png', 'alt' => 'Pawned!');
- $config[1] = HTMLPurifier_Config::createDefault();
- $config[1]->set('Attr', 'DefaultInvalidImage', 'blank.png');
- $config[1]->set('Attr', 'DefaultInvalidImageAlt', 'Pawned!');
-
- $inputs[2] = array('src' => '/path/to/foobar.png');
- $expect[2] = array('src' => '/path/to/foobar.png', 'alt' => 'foobar.png');
-
- $inputs[3] = array('alt' => 'intrigue');
- $expect[3] = array('src' => '', 'alt' => 'intrigue');
-
- $this->assertTransform($inputs, $expect, $config);
+ $this->assertResult(
+ array('alt' => 'intrigue'),
+ array('src' => '', 'alt' => 'intrigue')
+ );
}
diff --git a/tests/HTMLPurifier/AttrTransform/LangTest.php b/tests/HTMLPurifier/AttrTransform/LangTest.php
index 9609e137..b4800990 100644
--- a/tests/HTMLPurifier/AttrTransform/LangTest.php
+++ b/tests/HTMLPurifier/AttrTransform/LangTest.php
@@ -8,34 +8,39 @@ class HTMLPurifier_AttrTransform_LangTest
extends HTMLPurifier_AttrTransformHarness
{
+ function setUp() {
+ parent::setUp();
+ $this->obj = new HTMLPurifier_AttrTransform_Lang();
+ }
+
function test() {
- $this->transform = new HTMLPurifier_AttrTransform_Lang();
-
- $inputs = array();
- $expect = array();
-
// leave non-lang'ed elements alone
- $inputs[0] = array();
- $expect[0] = true;
+ $this->assertResult(array(), true);
// copy lang to xml:lang
- $inputs[1] = array('lang' => 'en');
- $expect[1] = array('lang' => 'en', 'xml:lang' => 'en');
+ $this->assertResult(
+ array('lang' => 'en'),
+ array('lang' => 'en', 'xml:lang' => 'en')
+ );
// preserve attributes
- $inputs[2] = array('src' => 'vert.png', 'lang' => 'fr');
- $expect[2] = array('src' => 'vert.png', 'lang' => 'fr', 'xml:lang' => 'fr');
+ $this->assertResult(
+ array('src' => 'vert.png', 'lang' => 'fr'),
+ array('src' => 'vert.png', 'lang' => 'fr', 'xml:lang' => 'fr')
+ );
// copy xml:lang to lang
- $inputs[3] = array('xml:lang' => 'en');
- $expect[3] = array('lang' => 'en', 'xml:lang' => 'en');
+ $this->assertResult(
+ array('xml:lang' => 'en'),
+ array('lang' => 'en', 'xml:lang' => 'en')
+ );
// both set, override lang with xml:lang
- $inputs[4] = array('lang' => 'fr', 'xml:lang' => 'de');
- $expect[4] = array('lang' => 'de', 'xml:lang' => 'de');
-
- $this->assertTransform($inputs, $expect);
+ $this->assertResult(
+ array('lang' => 'fr', 'xml:lang' => 'de'),
+ array('lang' => 'de', 'xml:lang' => 'de')
+ );
}
diff --git a/tests/HTMLPurifier/AttrTransform/TextAlignTest.php b/tests/HTMLPurifier/AttrTransform/TextAlignTest.php
index c750b8b3..858db75c 100644
--- a/tests/HTMLPurifier/AttrTransform/TextAlignTest.php
+++ b/tests/HTMLPurifier/AttrTransform/TextAlignTest.php
@@ -5,48 +5,58 @@ require_once 'HTMLPurifier/AttrTransform/TextAlign.php';
class HTMLPurifier_AttrTransform_TextAlignTest extends HTMLPurifier_AttrTransformHarness
{
+ function setUp() {
+ parent::setUp();
+ $this->obj = new HTMLPurifier_AttrTransform_TextAlign();
+ }
+
function test() {
- $this->transform = new HTMLPurifier_AttrTransform_TextAlign();
-
- $inputs = array();
- $expect = array();
-
// leave empty arrays alone
- $inputs[0] = array();
- $expect[0] = true;
+ $this->assertResult( array() );
// leave arrays without interesting stuff alone
- $inputs[1] = array('style' => 'font-weight:bold;');
- $expect[1] = true;
+ $this->assertResult( array('style' => 'font-weight:bold;') );
// test each of the conversions
- $inputs[2] = array('align' => 'left');
- $expect[2] = array('style' => 'text-align:left;');
+ $this->assertResult(
+ array('align' => 'left'),
+ array('style' => 'text-align:left;')
+ );
- $inputs[3] = array('align' => 'right');
- $expect[3] = array('style' => 'text-align:right;');
+ $this->assertResult(
+ array('align' => 'right'),
+ array('style' => 'text-align:right;')
+ );
- $inputs[4] = array('align' => 'center');
- $expect[4] = array('style' => 'text-align:center;');
+ $this->assertResult(
+ array('align' => 'center'),
+ array('style' => 'text-align:center;')
+ );
- $inputs[5] = array('align' => 'justify');
- $expect[5] = array('style' => 'text-align:justify;');
+ $this->assertResult(
+ array('align' => 'justify'),
+ array('style' => 'text-align:justify;')
+ );
// drop garbage value
- $inputs[6] = array('align' => 'invalid');
- $expect[6] = array();
+ $this->assertResult(
+ array('align' => 'invalid'),
+ array()
+ );
// test CSS munging
- $inputs[7] = array('align' => 'left', 'style' => 'font-weight:bold;');
- $expect[7] = array('style' => 'text-align:left;font-weight:bold;');
+ $this->assertResult(
+ array('align' => 'left', 'style' => 'font-weight:bold;'),
+ array('style' => 'text-align:left;font-weight:bold;')
+ );
// test case insensitivity
- $inputs[8] = array('align' => 'CENTER');
- $expect[8] = array('style' => 'text-align:center;');
-
- $this->assertTransform($inputs, $expect);
+ $this->assertResult(
+ array('align' => 'CENTER'),
+ array('style' => 'text-align:center;')
+ );
}
diff --git a/tests/HTMLPurifier/AttrTransformHarness.php b/tests/HTMLPurifier/AttrTransformHarness.php
index 689799c4..aff1d6b7 100644
--- a/tests/HTMLPurifier/AttrTransformHarness.php
+++ b/tests/HTMLPurifier/AttrTransformHarness.php
@@ -1,23 +1,12 @@
$input) {
- if (!isset($config[$i])) $config[$i] = $default_config;
- if (!isset($context[$i])) $context[$i] = $default_context;
- $result = $this->transform->transform($input, $config[$i], $context[$i]);
- if ($expect[$i] === true) $expect[$i] = $input;
- $this->assertEqual($expect[$i], $result, "Test $i: %s");
- }
+ function setUp() {
+ $this->func = 'transform';
}
}