auto merge of #5019 : jdm/servo/serializerfix, r=Ms2ger

This commit is contained in:
bors-servo 2015-02-22 13:51:45 -07:00
commit 0ea9dafa63
3 changed files with 79 additions and 75 deletions

View file

@ -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());

View file

@ -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>

View file

@ -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