html: treat <image> as <img> Pass tests1.dat, test 90: <p><image></p> | <html> | <head> | <body> | <p> | <img> Also pass test 91: <a><table><a></table><p><a><div><a> R=nigeltao CC=golang-dev https://golang.org/cl/5339052
diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go index c6c96e5..f47d4ea 100644 --- a/src/pkg/html/parse.go +++ b/src/pkg/html/parse.go
@@ -651,6 +651,9 @@ } case "base", "basefont", "bgsound", "command", "link", "meta", "noframes", "script", "style", "title": return useTheRulesFor(p, inBodyIM, inHeadIM) + case "image": + p.tok.Data = "img" + return inBodyIM, false default: // TODO. p.addElement(p.tok.Data, p.tok.Attr)
diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go index 1f4ffa9..2797922 100644 --- a/src/pkg/html/parse_test.go +++ b/src/pkg/html/parse_test.go
@@ -133,7 +133,7 @@ n int }{ // TODO(nigeltao): Process all the test cases from all the .dat files. - {"tests1.dat", 89}, + {"tests1.dat", 92}, {"tests2.dat", 0}, {"tests3.dat", 0}, } @@ -210,6 +210,7 @@ // The second <a> will be reparented to the first <table>'s parent. This // results in an <a> whose parent is an <a>, which is not 'well-formed'. `<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y`: true, - // The second <a> will be reparented, similar to the case above. + // More cases of <a> being reparented: `<a href="blah">aba<table><a href="foo">br<tr><td></td></tr>x</table>aoe`: true, + `<a><table><a></table><p><a><div><a>`: true, }