]> Cypherpunks repositories - gostls13.git/commitdiff
html: parse <nobr> elements
authorAndrew Balholm <andybalholm@gmail.com>
Sun, 27 Nov 2011 23:55:31 +0000 (10:55 +1100)
committerNigel Tao <nigeltao@golang.org>
Sun, 27 Nov 2011 23:55:31 +0000 (10:55 +1100)
Pass tests3.dat, test 20:
<!doctype html><nobr><nobr><nobr>

| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <nobr>
|     <nobr>
|     <nobr>

Also pass tests through test 22:
<!doctype html><html><body><p><table></table></body></html>

R=nigeltao
CC=golang-dev
https://golang.org/cl/5438056

src/pkg/html/parse.go
src/pkg/html/parse_test.go

index 723f65a4d7ab292bbafd2834b0fcc76cbdba32ec..adfac61edcad486b9b7c4e4dd9cf8975c16f9edd 100644 (file)
@@ -679,6 +679,13 @@ func inBodyIM(p *parser) bool {
                case "b", "big", "code", "em", "font", "i", "s", "small", "strike", "strong", "tt", "u":
                        p.reconstructActiveFormattingElements()
                        p.addFormattingElement(p.tok.Data, p.tok.Attr)
+               case "nobr":
+                       p.reconstructActiveFormattingElements()
+                       if p.elementInScope(defaultScopeStopTags, "nobr") {
+                               p.inBodyEndTagFormatting("nobr")
+                               p.reconstructActiveFormattingElements()
+                       }
+                       p.addFormattingElement(p.tok.Data, p.tok.Attr)
                case "applet", "marquee", "object":
                        p.reconstructActiveFormattingElements()
                        p.addElement(p.tok.Data, p.tok.Attr)
index 4a088c74b12eec31ad0c18c126a072ce5c892d83..9e02173b8053c759972d5e3fca45ed08c2521cd9 100644 (file)
@@ -152,7 +152,7 @@ func TestParser(t *testing.T) {
                {"doctype01.dat", -1},
                {"tests1.dat", -1},
                {"tests2.dat", -1},
-               {"tests3.dat", 20},
+               {"tests3.dat", 23},
        }
        for _, tf := range testFiles {
                f, err := os.Open("testdata/webkit/" + tf.filename)