mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-23 00:41:52 +00:00
9b7ad89ab5
- Added generate_mock() function for testing - Factored out inputs/output tests to StrategyAbstractTest git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@124 48356398-32a2-884e-a903-53898d9a118a
40 lines
1.2 KiB
PHP
40 lines
1.2 KiB
PHP
<?php
|
|
|
|
require_once 'HTMLPurifier/Definition.php';
|
|
require_once 'HTMLPurifier/Lexer/DirectLex.php';
|
|
|
|
class HTMLPurifier_StrategyAbstractTest extends UnitTestCase
|
|
{
|
|
|
|
var $lex, $gen;
|
|
|
|
function HTMLPurifier_StrategyAbstractTest() {
|
|
$this->UnitTestCase();
|
|
|
|
// we can't use the DOM lexer since it does too much stuff
|
|
// automatically, however, we should be able to use it
|
|
// interchangeably if we wanted to...
|
|
|
|
if (true) {
|
|
$this->lex = new HTMLPurifier_Lexer_DirectLex();
|
|
} else {
|
|
require_once 'HTMLPurifier/Lexer/DOMLex.php';
|
|
$this->lex = new HTMLPurifier_Lexer_DOMLex();
|
|
}
|
|
|
|
$this->gen = new HTMLPurifier_Generator();
|
|
}
|
|
|
|
function assertStrategyWorks($strategy, $inputs, $expect) {
|
|
foreach ($inputs as $i => $input) {
|
|
$tokens = $this->lex->tokenizeHTML($input);
|
|
$result_tokens = $strategy->execute($tokens);
|
|
$result = $this->gen->generateFromTokens($result_tokens);
|
|
$this->assertEqual($expect[$i], $result, "Test $i: %s");
|
|
paintIf($result, $result != $expect[$i]);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
?>
|