summaryrefslogtreecommitdiff
path: root/test/HTML5/Parser
diff options
context:
space:
mode:
authorMatt Butcher <[email protected]>2013-05-02 10:18:46 -0500
committerMatt Butcher <[email protected]>2013-05-02 10:18:46 -0500
commitdd4a88998609e7efa6203b2ee776aac6d9df9b1c (patch)
treebba9c90c296a95ab1dcfc5a2c40d209f76e2b294 /test/HTML5/Parser
parentec8a288ad752ab19fe3dcd392d5287eccb6da9d9 (diff)
Stubbing out a rules engine for tag special-casing.
Diffstat (limited to 'test/HTML5/Parser')
-rw-r--r--test/HTML5/Parser/TreeBuildingRulesTest.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/HTML5/Parser/TreeBuildingRulesTest.php b/test/HTML5/Parser/TreeBuildingRulesTest.php
new file mode 100644
index 0000000..3ca3cbb
--- /dev/null
+++ b/test/HTML5/Parser/TreeBuildingRulesTest.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * @file
+ * Test the Tree Builder's special-case rules.
+ */
+namespace HTML5\Parser;
+
+use HTML5\Elements;
+
+require_once __DIR__ . '/../TestCase.php';
+
+/**
+ * These tests are functional, not necessarily unit tests.
+ */
+class TreeBuildingRulesTest extends \HTML5\Tests\TestCase {
+
+ /**
+ * Convenience function for parsing.
+ */
+ protected function parse($string) {
+ $treeBuilder = new DOMTreeBuilder();
+ $input = new StringInputStream($string);
+ $scanner = new Scanner($input);
+ $parser = new Tokenizer($scanner, $treeBuilder);
+
+ $parser->parse();
+
+ return $treeBuilder->document();
+ }
+
+ public function testHasRules() {
+ $doc = new \DOMDocument('1.0');
+ $engine = new TreeBuildingRules($doc);
+
+ $this->assertTrue($engine->hasRules('li'));
+ $this->assertFalse($engine->hasRules('imaginary'));
+ }
+
+}