4 * Test the Scanner. This requires the InputStream tests are all good.
6 namespace Masterminds\HTML5\Tests\Parser;
8 use Masterminds\HTML5\Parser\CharacterReference;
10 class CharacterReferenceTest extends \Masterminds\HTML5\Tests\TestCase
13 public function testLookupName()
15 $this->assertEquals('&', CharacterReference::lookupName('amp'));
16 $this->assertEquals('<', CharacterReference::lookupName('lt'));
17 $this->assertEquals('>', CharacterReference::lookupName('gt'));
18 $this->assertEquals('"', CharacterReference::lookupName('quot'));
19 $this->assertEquals('∌', CharacterReference::lookupName('NotReverseElement'));
21 $this->assertNull(CharacterReference::lookupName('StinkyCheese'));
24 public function testLookupHex()
26 $this->assertEquals('<', CharacterReference::lookupHex('3c'));
27 $this->assertEquals('<', CharacterReference::lookupHex('003c'));
28 $this->assertEquals('&', CharacterReference::lookupHex('26'));
29 $this->assertEquals('}', CharacterReference::lookupHex('7d'));
30 $this->assertEquals('Σ', CharacterReference::lookupHex('3A3'));
31 $this->assertEquals('Σ', CharacterReference::lookupHex('03A3'));
32 $this->assertEquals('Σ', CharacterReference::lookupHex('3a3'));
33 $this->assertEquals('Σ', CharacterReference::lookupHex('03a3'));
36 public function testLookupDecimal()
38 $this->assertEquals('&', CharacterReference::lookupDecimal(38));
39 $this->assertEquals('&', CharacterReference::lookupDecimal('38'));
40 $this->assertEquals('<', CharacterReference::lookupDecimal(60));
41 $this->assertEquals('Σ', CharacterReference::lookupDecimal(931));
42 $this->assertEquals('Σ', CharacterReference::lookupDecimal('0931'));