fix(html/parser): Improve span (#5230)

This commit is contained in:
Alexander Akait 2022-07-17 09:23:25 +03:00 committed by GitHub
parent b697a222ce
commit 0f7646cc47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
132 changed files with 715 additions and 229 deletions

View File

@ -377,6 +377,22 @@ where
)
}
fn get_deep_end_span(&mut self, children: &[Child]) -> Option<Span> {
match children.last() {
Some(Child::DocumentType(DocumentType { span, .. })) => Some(*span),
Some(Child::Element(Element { span, children, .. })) => {
if span.is_dummy() {
return self.get_deep_end_span(children);
}
Some(*span)
}
Some(Child::Comment(Comment { span, .. })) => Some(*span),
Some(Child::Text(Text { span, .. })) => Some(*span),
_ => None,
}
}
fn node_to_child(&mut self, node: RcNode) -> Child {
let start_span = node.start_span.take();
@ -414,24 +430,21 @@ where
start_span
} else {
let end_body = match node.end_span.take() {
Some(end_tag_span) => end_tag_span.hi(),
_ => start_span.hi(),
Some(end_tag_span) => end_tag_span,
_ => start_span,
};
let end_children = match new_children.last() {
Some(Child::DocumentType(DocumentType { span, .. })) => span.hi(),
Some(Child::Element(Element { span, .. })) => span.hi(),
Some(Child::Comment(Comment { span, .. })) => span.hi(),
Some(Child::Text(Text { span, .. })) => span.hi(),
_ => start_span.hi(),
let end_children = match self.get_deep_end_span(&new_children) {
Some(end_span) => end_span,
_ => start_span,
};
let end = if end_body >= end_children {
let end = if end_body.hi() >= end_children.hi() {
end_body
} else {
end_children
};
Span::new(start_span.lo(), end, Default::default())
Span::new(start_span.lo(), end.hi(), Default::default())
};
Child::Element(Element {
@ -445,26 +458,21 @@ where
})
}
_ => {
let is_template = namespace == Namespace::HTML && &*tag_name == "template";
let span = if start_span.is_dummy() {
start_span
} else {
let end = match node.end_span.take() {
Some(end_span) => end_span.hi(),
_ => match new_children.last() {
Some(Child::DocumentType(DocumentType { span, .. })) => {
span.hi()
}
Some(Child::Element(Element { span, .. })) => span.hi(),
Some(Child::Comment(Comment { span, .. })) => span.hi(),
Some(Child::Text(Text { span, .. })) => span.hi(),
_ => start_span.hi(),
let end_span = match node.end_span.take() {
Some(end_span) if !end_span.is_dummy() => end_span,
_ => match self.get_deep_end_span(&new_children) {
Some(end_span) => end_span,
_ => start_span,
},
};
Span::new(start_span.lo(), end, Default::default())
Span::new(start_span.lo(), end_span.hi(), Default::default())
};
let (children, content) = if is_template {
let (children, content) =
if namespace == Namespace::HTML && &*tag_name == "template" {
(
vec![],
Some(DocumentFragment {

View File

@ -22,7 +22,7 @@
"type": "Element",
"span": {
"start": 16,
"end": 53,
"end": 54,
"ctxt": 0
},
"tagName": "html",

View File

@ -20,13 +20,13 @@
x Child
,-[$DIR/tests/fixture/element/ruby-2/input.html:1:1]
1 | <!doctype html><html><ruby>a<rb>b<rtc></ruby></html>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/fixture/element/ruby-2/input.html:1:1]
1 | <!doctype html><html><ruby>a<rb>b<rtc></ruby></html>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child

View File

@ -22,7 +22,7 @@
"type": "Element",
"span": {
"start": 16,
"end": 52,
"end": 53,
"ctxt": 0
},
"tagName": "html",

View File

@ -20,13 +20,13 @@
x Child
,-[$DIR/tests/fixture/element/ruby/input.html:1:1]
1 | <!doctype html><html><ruby>a<rb>b<rb></ruby></html>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/fixture/element/ruby/input.html:1:1]
1 | <!doctype html><html><ruby>a<rb>b<rb></ruby></html>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child

View File

@ -8,13 +8,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/foreign-fragment_dat/55.fragment_svg_desc/input.html:1:1]
1 | <html>X
: ^^^^^^
: ^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/foreign-fragment_dat/55.fragment_svg_desc/input.html:1:1]
1 | <html>X
: ^^^^^^
: ^^^^^^^
`----
x Child

View File

@ -8,13 +8,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/foreign-fragment_dat/56.fragment_svg_desc/input.html:1:1]
1 | <html class="foo">X
: ^^^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/foreign-fragment_dat/56.fragment_svg_desc/input.html:1:1]
1 | <html class="foo">X
: ^^^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^
`----
x Attribute

View File

@ -36,7 +36,7 @@
"type": "Element",
"span": {
"start": 1,
"end": 7,
"end": 60,
"ctxt": 0
},
"tagName": "body",
@ -56,8 +56,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 7,
"start": 7,
"end": 60,
"ctxt": 0
},
"tagName": "table",

View File

@ -12,13 +12,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/namespace-sensitivity_dat/0/input.html:1:1]
1 | <body><table><tr><td><svg><td><foreignObject><span></td>Foo
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/namespace-sensitivity_dat/0/input.html:1:1]
1 | <body><table><tr><td><svg><td><foreignObject><span></td>Foo
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
@ -34,8 +34,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/namespace-sensitivity_dat/0/input.html:1:1]
1 | <body><table><tr><td><svg><td><foreignObject><span></td>Foo
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/namespace-sensitivity_dat/0/input.html:1:1]
1 | <body><table><tr><td><svg><td><foreignObject><span></td>Foo
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/namespace-sensitivity_dat/0/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 46,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/pending-spec-changes_dat/2/input.html:1:1]
1 | <table><tr><td><svg><desc><td></desc><circle>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/pending-spec-changes_dat/2/input.html:1:1]
1 | <table><tr><td><svg><desc><td></desc><circle>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/pending-spec-changes_dat/2/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 46,
"ctxt": 0
},
"tagName": "table",

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 53,
"ctxt": 0
},
"tagName": "table",

View File

@ -11,7 +11,7 @@
"type": "Element",
"span": {
"start": 1,
"end": 7,
"end": 10,
"ctxt": 0
},
"tagName": "html",

View File

@ -11,7 +11,7 @@
"type": "Element",
"span": {
"start": 1,
"end": 7,
"end": 16,
"ctxt": 0
},
"tagName": "html",

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 12,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/0/input.html:1:1]
1 | <table><th>
: ^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/0/input.html:1:1]
1 | <table><th>
: ^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/0/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 12,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/1/input.html:1:1]
1 | <table><td>
: ^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/1/input.html:1:1]
1 | <table><td>
: ^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/1/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 56,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/10/input.html:1:1]
1 | <table><td></body></caption></col></colgroup></html>foo
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/10/input.html:1:1]
1 | <table><td></body></caption></col></colgroup></html>foo
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/10/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 70,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/13/input.html:1:1]
1 | <table><tr></body></caption></col></colgroup></html></td></th><td>foo
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/13/input.html:1:1]
1 | <table><tr></body></caption></col></colgroup></html></td></th><td>foo
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/13/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 16,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/14/input.html:1:1]
1 | <table><td><tr>
: ^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/14/input.html:1:1]
1 | <table><td><tr>
: ^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/14/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 24,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/15/input.html:1:1]
1 | <table><td><button><td>
: ^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/15/input.html:1:1]
1 | <table><td><button><td>
: ^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/15/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 31,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/16/input.html:1:1]
1 | <table><tr><td><svg><desc><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/16/input.html:1:1]
1 | <table><tr><td><svg><desc><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/16/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 23,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/2/input.html:1:1]
1 | <table><col foo='bar'>
: ^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/2/input.html:1:1]
1 | <table><col foo='bar'>
: ^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/2/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 92,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/5/input.html:1:1]
1 | <table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/5/input.html:1:1]
1 | <table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tables01_dat/5/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 26,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/template_dat/32/input.html:1:1]
1 | <table><tr><template><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/template_dat/32/input.html:1:1]
1 | <table><tr><template><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/template_dat/32/input.html:1:1]

View File

@ -60,8 +60,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 23,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests10_dat/40/input.html:1:1]
1 | <table><svg></svg><tr>
: ^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests10_dat/40/input.html:1:1]
1 | <table><svg></svg><tr>
: ^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests10_dat/40/input.html:1:1]

View File

@ -22,7 +22,7 @@
"type": "Element",
"span": {
"start": 16,
"end": 22,
"end": 58,
"ctxt": 0
},
"tagName": "html",

View File

@ -20,13 +20,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests14_dat/2/input.html:1:1]
1 | <!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc>
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests14_dat/2/input.html:1:1]
1 | <!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc>
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Attribute

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 52,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests16_dat/195/input.html:1:1]
1 | <!doctype html><table><td><span><font></span><span>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests16_dat/195/input.html:1:1]
1 | <!doctype html><table><td><span><font></span><span>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests16_dat/195/input.html:1:1]

View File

@ -71,8 +71,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 39,
"ctxt": 0
},
"tagName": "table",

View File

@ -34,8 +34,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/1/input.html:1:1]
1 | <!doctype html><table><tr><select><td>
: ^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/1/input.html:1:1]
1 | <!doctype html><table><tr><select><td>
: ^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/1/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 43,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/2/input.html:1:1]
1 | <!doctype html><table><tr><td><select><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/2/input.html:1:1]
1 | <!doctype html><table><tr><td><select><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/2/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 43,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/3/input.html:1:1]
1 | <!doctype html><table><tr><th><select><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/3/input.html:1:1]
1 | <!doctype html><table><tr><th><select><td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/3/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 44,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/4/input.html:1:1]
1 | <!doctype html><table><caption><select><tr>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/4/input.html:1:1]
1 | <!doctype html><table><caption><select><tr>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests17_dat/4/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 50,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/10/input.html:1:1]
1 | <!doctype html><table><td><plaintext></plaintext>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/10/input.html:1:1]
1 | <!doctype html><table><td><plaintext></plaintext>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/10/input.html:1:1]

View File

@ -22,7 +22,7 @@
"type": "Element",
"span": {
"start": 16,
"end": 22,
"end": 45,
"ctxt": 0
},
"tagName": "html",

View File

@ -20,13 +20,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/2/input.html:1:1]
1 | <!doctype html><html><plaintext></plaintext>
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/2/input.html:1:1]
1 | <!doctype html><html><plaintext></plaintext>
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child

View File

@ -67,8 +67,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 54,
"ctxt": 0
},
"tagName": "table",

View File

@ -34,8 +34,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/23/input.html:1:1]
1 | <!doctype html><table><tr><style></script></style>abc
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/23/input.html:1:1]
1 | <!doctype html><table><tr><style></script></style>abc
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/23/input.html:1:1]

View File

@ -67,8 +67,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 55,
"ctxt": 0
},
"tagName": "table",

View File

@ -34,8 +34,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/24/input.html:1:1]
1 | <!doctype html><table><tr><script></style></script>abc
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/24/input.html:1:1]
1 | <!doctype html><table><tr><script></style></script>abc
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/24/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 54,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/26/input.html:1:1]
1 | <!doctype html><table><td><style></script></style>abc
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/26/input.html:1:1]
1 | <!doctype html><table><td><style></script></style>abc
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/26/input.html:1:1]

View File

@ -107,8 +107,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 27,
"ctxt": 0
},
"tagName": "table",

View File

@ -70,8 +70,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/29/input.html:1:1]
1 | <!doctype html><table><tr><select><script></style></script>abc
: ^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/29/input.html:1:1]
1 | <!doctype html><table><tr><select><script></style></script>abc
: ^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/29/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 45,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/35/input.html:1:1]
1 | <!doctype html><table><td><svg></svg>abc<td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/35/input.html:1:1]
1 | <!doctype html><table><td><svg></svg>abc<td>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/35/input.html:1:1]

View File

@ -22,7 +22,7 @@
"type": "Element",
"span": {
"start": 16,
"end": 22,
"end": 55,
"ctxt": 0
},
"tagName": "html",

View File

@ -20,13 +20,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/4/input.html:1:1]
1 | <!doctype html><html><noscript><plaintext></plaintext>
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests18_dat/4/input.html:1:1]
1 | <!doctype html><html><noscript><plaintext></plaintext>
: ^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child

View File

@ -11,7 +11,7 @@
"type": "Element",
"span": {
"start": 1,
"end": 7,
"end": 10,
"ctxt": 0
},
"tagName": "html",

View File

@ -8,13 +8,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/78/input.html:1:1]
1 | <html>aaa<frameset></frameset>
: ^^^^^^
: ^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/78/input.html:1:1]
1 | <html>aaa<frameset></frameset>
: ^^^^^^
: ^^^^^^^^^
`----
x Child

View File

@ -11,7 +11,7 @@
"type": "Element",
"span": {
"start": 1,
"end": 7,
"end": 10,
"ctxt": 0
},
"tagName": "html",

View File

@ -8,13 +8,13 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/79/input.html:1:1]
1 | <html> a <frameset></frameset>
: ^^^^^^
: ^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/79/input.html:1:1]
1 | <html> a <frameset></frameset>
: ^^^^^^
: ^^^^^^^^^
`----
x Child

View File

@ -182,8 +182,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 37,
"ctxt": 0
},
"tagName": "table",

View File

@ -142,8 +142,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/95/input.html:1:1]
1 | <!doctype html><table><i>a<div>b<tr>c<b>d</i>e
: ^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/95/input.html:1:1]
1 | <!doctype html><table><i>a<div>b<tr>c<b>d</i>e
: ^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/95/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 34,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/96/input.html:1:1]
1 | <!doctype html><table><td><table><i>a<div>b<b>c</i>d
: ^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/96/input.html:1:1]
1 | <!doctype html><table><td><table><i>a<div>b<b>c</i>d
: ^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests19_dat/96/input.html:1:1]

View File

@ -57,7 +57,7 @@
"type": "Element",
"span": {
"start": 9,
"end": 25,
"end": 72,
"ctxt": 0
},
"tagName": "font",
@ -68,7 +68,7 @@
"type": "Element",
"span": {
"start": 15,
"end": 25,
"end": 72,
"ctxt": 0
},
"tagName": "div",
@ -113,8 +113,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 25,
"start": 25,
"end": 72,
"ctxt": 0
},
"tagName": "table",

View File

@ -24,25 +24,25 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]
1 | <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
: ^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]
1 | <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
: ^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]
1 | <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
: ^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]
1 | <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
: ^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
@ -82,8 +82,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]
1 | <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]
1 | <!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests1_dat/32/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 62,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/11/input.html:1:1]
1 | <!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/11/input.html:1:1]
1 | <!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/11/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 55,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/13/input.html:1:1]
1 | <!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/13/input.html:1:1]
1 | <!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/13/input.html:1:1]

View File

@ -47,7 +47,7 @@
"type": "Element",
"span": {
"start": 16,
"end": 32,
"end": 78,
"ctxt": 0
},
"tagName": "body",
@ -58,7 +58,7 @@
"type": "Element",
"span": {
"start": 22,
"end": 32,
"end": 78,
"ctxt": 0
},
"tagName": "b",
@ -69,7 +69,7 @@
"type": "Element",
"span": {
"start": 25,
"end": 32,
"end": 78,
"ctxt": 0
},
"tagName": "nobr",
@ -89,8 +89,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 32,
"start": 32,
"end": 78,
"ctxt": 0
},
"tagName": "table",

View File

@ -24,37 +24,37 @@
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
@ -70,8 +70,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]
1 | <!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests26_dat/3/input.html:1:1]

View File

@ -67,8 +67,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 31,
"ctxt": 0
},
"tagName": "table",

View File

@ -34,8 +34,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/14/input.html:1:1]
1 | <!DOCTYPE html><table><tr>TEST
: ^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/14/input.html:1:1]
1 | <!DOCTYPE html><table><tr>TEST
: ^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/14/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 12,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/2/input.html:1:1]
1 | <table><td>
: ^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/2/input.html:1:1]
1 | <table><td>
: ^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/2/input.html:1:1]

View File

@ -57,8 +57,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 16,
"start": 16,
"end": 59,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/35/input.html:1:1]
1 | <!DOCTYPE html><table><caption>test TEST</caption><td>test
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/35/input.html:1:1]
1 | <!DOCTYPE html><table><caption>test TEST</caption><td>test
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests2_dat/35/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 21,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/14/input.html:1:1]
1 | <table><tr><td></th>
: ^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/14/input.html:1:1]
1 | <table><tr><td></th>
: ^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/14/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 21,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/15/input.html:1:1]
1 | <table><caption><td>
: ^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/15/input.html:1:1]
1 | <table><caption><td>
: ^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/15/input.html:1:1]

View File

@ -46,8 +46,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 57,
"ctxt": 0
},
"tagName": "table",

View File

@ -10,8 +10,16 @@
x Element
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/23/input.html:1:1]
1 | <table><tr><td></body></caption></col></colgroup></html>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/23/input.html:1:1]
1 | <table><tr><td></body></caption></col></colgroup></html>
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/23/input.html:1:1]

View File

@ -60,8 +60,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 12,
"ctxt": 0
},
"tagName": "table",

View File

@ -22,8 +22,16 @@
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/32/input.html:1:1]
1 | <table><tr><div>
: ^^^^^^^^^^^
`----
x Element
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/32/input.html:1:1]
1 | <table><tr><div>
: ^^^^^^^^^^^
`----
x Child
,-[$DIR/tests/html5lib-tests-fixture/tests6_dat/32/input.html:1:1]

View File

@ -60,8 +60,8 @@
{
"type": "Element",
"span": {
"start": 0,
"end": 1,
"start": 1,
"end": 21,
"ctxt": 0
},
"tagName": "table",

Some files were not shown because too many files have changed in this diff Show More