addPattern("eé");
$this->assertTrue($regex->match("eéêè", $match));
$this->assertEqual($match, "eé");
}
function testWithTextInLatin1() {
$regex = &new ParallelRegex(false);
$regex->addPattern(utf8_decode("eé"));
$this->assertTrue($regex->match(utf8_decode("eéêè"), $match));
$this->assertEqual($match, utf8_decode("eé"));
}
function &createParser() {
$parser = &new MockSimpleHtmlSaxParser();
$parser->setReturnValue('acceptStartToken', true);
$parser->setReturnValue('acceptEndToken', true);
$parser->setReturnValue('acceptAttributeToken', true);
$parser->setReturnValue('acceptEntityToken', true);
$parser->setReturnValue('acceptTextToken', true);
$parser->setReturnValue('ignore', true);
return $parser;
}
function testTagWithAttributesInUTF8() {
$parser = &$this->createParser();
$parser->expectOnce('acceptTextToken', array('label', '*'));
$parser->expectAt(0, 'acceptStartToken', array('expectAt(1, 'acceptStartToken', array('href', '*'));
$parser->expectAt(2, 'acceptStartToken', array('>', '*'));
$parser->expectCallCount('acceptStartToken', 3);
$parser->expectAt(0, 'acceptAttributeToken', array('= "', '*'));
$parser->expectAt(1, 'acceptAttributeToken', array('hère.html', '*'));
$parser->expectAt(2, 'acceptAttributeToken', array('"', '*'));
$parser->expectCallCount('acceptAttributeToken', 3);
$parser->expectOnce('acceptEndToken', array('', '*'));
$lexer = &new SimpleHtmlLexer($parser);
$this->assertTrue($lexer->parse('label'));
}
function testTagWithAttributesInLatin1() {
$parser = &$this->createParser();
$parser->expectOnce('acceptTextToken', array('label', '*'));
$parser->expectAt(0, 'acceptStartToken', array('expectAt(1, 'acceptStartToken', array('href', '*'));
$parser->expectAt(2, 'acceptStartToken', array('>', '*'));
$parser->expectCallCount('acceptStartToken', 3);
$parser->expectAt(0, 'acceptAttributeToken', array('= "', '*'));
$parser->expectAt(1, 'acceptAttributeToken', array(utf8_decode('hère.html'), '*'));
$parser->expectAt(2, 'acceptAttributeToken', array('"', '*'));
$parser->expectCallCount('acceptAttributeToken', 3);
$parser->expectOnce('acceptEndToken', array('', '*'));
$lexer = &new SimpleHtmlLexer($parser);
$this->assertTrue($lexer->parse(utf8_decode('label')));
}
}
class TestOfUrlithDifferentCharset extends UnitTestCase {
function testUsernameAndPasswordInUTF8() {
$url = new SimpleUrl('http://pÈrick:penËt@www.lastcraft.com');
$this->assertEqual($url->getUsername(), 'pÈrick');
$this->assertEqual($url->getPassword(), 'penËt');
}
}
?>