mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
auto merge of #5019 : jdm/servo/serializerfix, r=Ms2ger
This commit is contained in:
commit
0ea9dafa63
3 changed files with 79 additions and 75 deletions
|
@ -21,8 +21,8 @@ use std::borrow::ToOwned;
|
|||
pub fn serialize(iterator: &mut NodeIterator) -> String {
|
||||
let mut html = String::new();
|
||||
let mut open_elements: Vec<String> = vec!();
|
||||
let depth = iterator.depth;
|
||||
for node in iterator {
|
||||
while let Some(node) = iterator.next() {
|
||||
let depth = iterator.depth;
|
||||
while open_elements.len() > depth {
|
||||
html.push_str("</");
|
||||
html.push_str(open_elements.pop().unwrap().as_slice());
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
<script>
|
||||
var a = document.createElement("div");
|
||||
a.appendChild(document.createElement("pre")).appendChild(new Text(""));
|
||||
is(a.innerHTML, "<pre></pre>");
|
||||
var b = document.createElement("div");
|
||||
b.appendChild(a);
|
||||
is(b.innerHTML, "<div><pre></pre></div>");
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
|
|
|
@ -48,219 +48,221 @@
|
|||
[<img srcset="data:,a" data-expect="data:,a">]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture>foo<img src="data:,a" data-expect="data:,a">]
|
||||
[<picture>foo<img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><!--foo--><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><!--foo--><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><br><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><br><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><p></p><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><p></p><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><video></video><source srcset="data:,b"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><video><source srcset="data:,b"></video><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><span></span><source srcset="data:,b"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><span><source srcset="data:,b"></span><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img src="data:,a"><img src="data:,b" data-expect="data:,b">]
|
||||
[<picture><svg><source srcset="data:,b"></svg><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img src="data:,a" data-expect="data:,a">foo]
|
||||
[<picture><svg><source srcset="data:,b"><img src="data:,a" data-expect="data:,b"></svg></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img src="data:,a" data-expect="data:,a"><br>]
|
||||
[<picture><svg><font><source srcset="data:,b"></font></svg><font><img src="data:,a" data-expect="data:,a"></font></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img src="data:,a" data-expect="data:,a"><!--foo-->]
|
||||
[<picture><svg><!--<font face> tag breaks out of svg--><font face=""></font><source srcset="data:,b"></svg><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img src="data:,a" data-expect="data:,a"><img src="data:,b">]
|
||||
[<picture><img src="data:,a"><img src="data:,b" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img data-expect=""><img src="data:,b">]
|
||||
[<picture><source><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img src="data:,a" data-expect="data:,a"><source srcset="data:,b">]
|
||||
[<picture><source src="data:,b"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><img data-expect=""><source srcset="data:,b">]
|
||||
[<picture><source srcset=""><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><svg></svg><source srcset="data:,b"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset=", ,"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><svg></svg><source srcset="data:,b"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b 1x 1x"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><svg></svg><!--<font face> tag breaks out of svg--><font face=""></font><source srcset="data:,b"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" media=""><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="all"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source src="data:,b"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="all and (min-width:0)"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset=""><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="all and !"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset=", ,"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="all and (!)"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b 1x 1x"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="not all"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media=""><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" media="not all and (min-width:0)"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="all"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" media="not all and (max-width:0)"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="all and (min-width:0)"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" media="not all and !"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="all and !"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="not all and (!)"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="all and (!)"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media="all, !"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="not all"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media=","><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="not all and (min-width:0)"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" media=", all"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="not all and (max-width:0)"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type=""><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="not all and !"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type=" "><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="not all and (!)"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image/gif"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media="all, !"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type=" image/gif"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media=","><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image/gif "><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" media=", all"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/gif;"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type=""><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/gif;encodings"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type=" "><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/gif;encodings="><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/gif;encodings=foobar"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type=" image/gif"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/png"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif "><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/jpeg"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif;"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/svg+xml"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif;encodings"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="image/x-icon"><img src="data:,a" data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif;encodings="><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="text/xml"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif;encodings=foobar"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="text/html"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/png"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="text/plain"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/jpeg"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="text/css"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/svg+xml"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="video/mp4"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/x-icon"><img src="data:,a" data-expect="data:,b">]
|
||||
[<picture><source srcset="data:,b" type="video/ogg"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="text/xml"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="video/webm"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="text/html"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="unknown/unknown"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="text/plain"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="application/octet-stream"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="text/css"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="application/x-shockwave-flash"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="video/mp4"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image\gif"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="video/ogg"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="gif"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="video/webm"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type=".gif"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="unknown/unknown"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="*"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="application/octet-stream"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="*/*"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="application/x-shockwave-flash"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image/*"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image\\gif"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type=","><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="gif"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image/gif, image/png"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type=".gif"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image/gif image/png"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="*"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b" type="image/foobarbaz"><img src="data:,a" data-expect="data:,a"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="*/*"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><img src="data:,a" data-expect="data:,a">foo</picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/*"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><img src="data:,a" data-expect="data:,a"><br></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type=","><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><img src="data:,a" data-expect="data:,a"><!--foo--></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif, image/png"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><img src="data:,a" data-expect="data:,a"><img src="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/gif image/png"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><img data-expect=""><img src="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b" type="image/foobarbaz"><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><img src="data:,a" data-expect="data:,a"><source srcset="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><span></span><source srcset="data:,b"><img data-expect="">]
|
||||
[<picture><img data-expect=""><source srcset="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b"><span></span><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><span><source srcset="data:,b"><img data-expect=""></span></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><source srcset="data:,b"><img data-expect="data:,b">]
|
||||
[<picture><span><source srcset="data:,b"><img src="data:,a" data-expect="data:,a"></span></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture></picture><svg></svg><font></font><source srcset="data:,b"><font></font><img src="data:,a" data-expect="data:,a">]
|
||||
[<picture><source srcset="data:,b"><span><img src="data:,a" data-expect="data:,a"></span></picture>]
|
||||
expected: FAIL
|
||||
|
||||
[<picture><source srcset="data:,b"><img data-expect="data:,b"></picture>]
|
||||
expected: FAIL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue