| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- <?php
 - // $Id: parser_test.php 1608 2007-12-27 09:03:07Z pp11 $
 - // Handle with care : this file is UTF8.
 - 
 - require_once(dirname(__FILE__) . '/../autorun.php');
 - require_once(dirname(__FILE__) . '/../parser.php');
 - require_once(dirname(__FILE__) . '/../url.php');
 - Mock::generate('SimpleHtmlSaxParser');
 - Mock::generate('SimpleSaxListener');
 -      
 - class TestOfHtmlSaxParserWithDifferentCharset extends UnitTestCase {
 -     function testWithTextInUTF8() {
 -         $regex = &new ParallelRegex(false);
 -         $regex->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('<a', '*'));
 -         $parser->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('</a>', '*'));
 -         $lexer = &new SimpleHtmlLexer($parser);
 -         $this->assertTrue($lexer->parse('<a href = "hère.html">label</a>'));
 -     }
 - 
 -     function testTagWithAttributesInLatin1() {
 -         $parser = &$this->createParser();
 -         $parser->expectOnce('acceptTextToken', array('label', '*'));
 -         $parser->expectAt(0, 'acceptStartToken', array('<a', '*'));
 -         $parser->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('</a>', '*'));
 -         $lexer = &new SimpleHtmlLexer($parser);
 -         $this->assertTrue($lexer->parse(utf8_decode('<a href = "hère.html">label</a>')));
 -     }
 - }
 - 
 - 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');
 -     }
 - }
 - 
 - ?>
 
 
  |