aboutsummaryrefslogtreecommitdiff
path: root/tests/html5lib-tests/tree-construction/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'tests/html5lib-tests/tree-construction/README.md')
-rw-r--r--tests/html5lib-tests/tree-construction/README.md108
1 files changed, 0 insertions, 108 deletions
diff --git a/tests/html5lib-tests/tree-construction/README.md b/tests/html5lib-tests/tree-construction/README.md
deleted file mode 100644
index 4737a3a..0000000
--- a/tests/html5lib-tests/tree-construction/README.md
+++ /dev/null
@@ -1,108 +0,0 @@
-Tree Construction Tests
-=======================
-
-Each file containing tree construction tests consists of any number of
-tests separated by two newlines (LF) and a single newline before the end
-of the file. For instance:
-
- [TEST]LF
- LF
- [TEST]LF
- LF
- [TEST]LF
-
-Where [TEST] is the following format:
-
-Each test must begin with a string "\#data" followed by a newline (LF).
-All subsequent lines until a line that says "\#errors" are the test data
-and must be passed to the system being tested unchanged, except with the
-final newline (on the last line) removed.
-
-Then there must be a line that says "\#errors". It must be followed by
-one line per parse error that a conformant checker would return. It
-doesn't matter what those lines are, although they can't be
-"\#new-errors", "\#document-fragment", "\#document", "\#script-off",
-"\#script-on", or empty, the only thing that matters is that there be
-the right number of parse errors.
-
-Then there \*may\* be a line that says "\#new-errors", which works like
-the "\#errors" section adding more errors to the expected number of
-errors.
-
-Then there \*may\* be a line that says "\#document-fragment", which must
-be followed by a newline (LF), followed by a string of characters that
-indicates the context element, followed by a newline (LF). If the string
-of characters starts with "svg ", the context element is in the SVG
-namespace and the substring after "svg " is the local name. If the
-string of characters starts with "math ", the context element is in the
-MathML namespace and the substring after "math " is the local name.
-Otherwise, the context element is in the HTML namespace and the string
-is the local name. If this line is present the "\#data" must be parsed
-using the HTML fragment parsing algorithm with the context element as
-context.
-
-Then there \*may\* be a line that says "\#script-off" or
-"\#script-on". If a line that says "\#script-off" is present, the
-parser must set the scripting flag to disabled. If a line that says
-"\#script-on" is present, it must set it to enabled. Otherwise, the
-test should be run in both modes.
-
-Then there must be a line that says "\#document", which must be followed
-by a dump of the tree of the parsed DOM. Each node must be represented
-by a single line. Each line must start with "| ", followed by two spaces
-per parent node that the node has before the root document node.
-
-- Element nodes must be represented by a "`<`" then the *tag name
- string* "`>`", and all the attributes must be given, sorted
- lexicographically by UTF-16 code unit according to their *attribute
- name string*, on subsequent lines, as if they were children of the
- element node.
-- Attribute nodes must have the *attribute name string*, then an "="
- sign, then the attribute value in double quotes (").
-- Text nodes must be the string, in double quotes. Newlines aren't
- escaped.
-- Comments must be "`<`" then "`!-- `" then the data then "` -->`".
-- DOCTYPEs must be "`<!DOCTYPE `" then the name then if either of the
- system id or public id is non-empty a space, public id in
- double-quotes, another space an the system id in double-quotes, and
- then in any case "`>`".
-- Processing instructions must be "`<?`", then the target, then a
- space, then the data and then "`>`". (The HTML parser cannot emit
- processing instructions, but scripts can, and the WebVTT to DOM
- rules can emit them.)
-- Template contents are represented by the string "content" with the
- children below it.
-
-The *tag name string* is the local name prefixed by a namespace
-designator. For the HTML namespace, the namespace designator is the
-empty string, i.e. there's no prefix. For the SVG namespace, the
-namespace designator is "svg ". For the MathML namespace, the namespace
-designator is "math ".
-
-The *attribute name string* is the local name prefixed by a namespace
-designator. For no namespace, the namespace designator is the empty
-string, i.e. there's no prefix. For the XLink namespace, the namespace
-designator is "xlink ". For the XML namespace, the namespace designator
-is "xml ". For the XMLNS namespace, the namespace designator is "xmlns
-". Note the difference between "xlink:href" which is an attribute in no
-namespace with the local name "xlink:href" and "xlink href" which is an
-attribute in the xlink namespace with the local name "href".
-
-If there is also a "\#document-fragment" the bit following "\#document"
-must be a representation of the HTML fragment serialization for the
-context element given by "\#document-fragment".
-
-For example:
-
- #data
- <p>One<p>Two
- #errors
- 3: Missing document type declaration
- #document
- | <html>
- | <head>
- | <body>
- | <p>
- | "One"
- | <p>
- | "Two"