diff options
author | Andrew Balholm <andybalholm@gmail.com> | 2011-11-09 09:43:55 +1100 |
---|---|---|
committer | Andrew Balholm <andybalholm@gmail.com> | 2011-11-09 09:43:55 +1100 |
commit | 06e98119f2afb0c2ca31cb7b6c17972cdc8323b3 (patch) | |
tree | 47d7229a16ee3ce11fdf46eb7b7abebe21c68a32 | |
parent | f3b5d2c48656d07167c0488a6876040f5eeef824 (diff) | |
download | go-06e98119f2afb0c2ca31cb7b6c17972cdc8323b3.tar.gz |
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
http://codereview.appspot.com/5339052
Committer: Nigel Tao <nigeltao@golang.org>
-rw-r--r-- | src/pkg/html/parse.go | 3 | ||||
-rw-r--r-- | src/pkg/html/parse_test.go | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go index c6c96e50e..f47d4ea14 100644 --- a/src/pkg/html/parse.go +++ b/src/pkg/html/parse.go @@ -651,6 +651,9 @@ func inBodyIM(p *parser) (insertionMode, bool) { } 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 1f4ffa956..27979225b 100644 --- a/src/pkg/html/parse_test.go +++ b/src/pkg/html/parse_test.go @@ -133,7 +133,7 @@ func TestParser(t *testing.T) { 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 @@ var renderTestBlacklist = map[string]bool{ // 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, } |