From 4a8ea4ae94c5db39f38cd1c8b7d0c8df6dc82f7b Mon Sep 17 00:00:00 2001 From: Andrew Balholm Date: Fri, 23 Dec 2011 11:07:11 +1100 Subject: [PATCH] html: Don't ignore whitespace in "after after frameset" mode. Pass tests6.dat, test 46: | | | | " " R=nigeltao CC=golang-dev https://golang.org/cl/5505065 --- src/pkg/html/parse.go | 13 +++++++++++++ src/pkg/html/parse_test.go | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go index 67356e450c4..6962e643932 100644 --- a/src/pkg/html/parse.go +++ b/src/pkg/html/parse.go @@ -1572,6 +1572,19 @@ func afterAfterFramesetIM(p *parser) bool { Type: CommentNode, Data: p.tok.Data, }) + case TextToken: + // Ignore all text but whitespace. + s := strings.Map(func(c rune) rune { + switch c { + case ' ', '\t', '\n', '\f', '\r': + return c + } + return -1 + }, p.tok.Data) + if s != "" { + p.reconstructActiveFormattingElements() + p.addText(s) + } case StartTagToken: switch p.tok.Data { case "html": diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go index 1c2df5a7ee3..015b5838f0b 100644 --- a/src/pkg/html/parse_test.go +++ b/src/pkg/html/parse_test.go @@ -172,7 +172,7 @@ func TestParser(t *testing.T) { {"tests3.dat", -1}, {"tests4.dat", -1}, {"tests5.dat", -1}, - {"tests6.dat", 45}, + {"tests6.dat", 47}, {"tests10.dat", 16}, } for _, tf := range testFiles {