mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2025-07-30 19:00:10 +02:00
Commit various optimizations to the Lexer, and add stub file for profiling the lexer.
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@92 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
@@ -153,13 +153,18 @@ class HTMLPurifier_LexerTest extends UnitTestCase
|
||||
|
||||
// [SGML-INVALID]
|
||||
$input[10] = '<a "=>';
|
||||
// We barf on this, aim for no attributes
|
||||
$expect[10] = array(
|
||||
new HTMLPurifier_Token_Start('a', array('"' => ''))
|
||||
);
|
||||
// DOM doesn't register an invalid attribute
|
||||
// DOM correctly has no attributes, but also closes the tag
|
||||
$dom_expect[10] = array(
|
||||
new HTMLPurifier_Token_Empty('a')
|
||||
);
|
||||
// SAX barfs on this
|
||||
$sax_expect[10] = array(
|
||||
new HTMLPurifier_Token_Start('a', array('"' => ''))
|
||||
);
|
||||
|
||||
// [INVALID] [RECOVERABLE]
|
||||
$input[11] = '"';
|
||||
@@ -232,6 +237,18 @@ class HTMLPurifier_LexerTest extends UnitTestCase
|
||||
$input[6] = 'href="foo';
|
||||
$expect[6] = array('href' => 'foo');
|
||||
|
||||
$input[7] = '"=';
|
||||
$expect[7] = array('"' => '');
|
||||
// 0123456789012345678901234567890123
|
||||
$input[8] = 'href ="about:blank"rel ="nofollow"';
|
||||
$expect[8] = array('href' => 'about:blank', 'rel' => 'nofollow');
|
||||
|
||||
$input[9] = 'foo bar';
|
||||
$expect[9] = array('foo' => 'foo', 'bar' => 'bar');
|
||||
|
||||
$input[10] = 'foo="bar" blue';
|
||||
$expect[10] = array('foo' => 'bar', 'blue' => 'blue');
|
||||
|
||||
$size = count($input);
|
||||
for($i = 0; $i < $size; $i++) {
|
||||
$result = $this->DirectLex->tokenizeAttributeString($input[$i]);
|
||||
|
Reference in New Issue
Block a user