aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/html
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/html')
-rw-r--r--src/pkg/html/parse.go6
-rw-r--r--src/pkg/html/parse_test.go2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go
index b92b25c7b0..5b91204240 100644
--- a/src/pkg/html/parse.go
+++ b/src/pkg/html/parse.go
@@ -619,6 +619,12 @@ func inBodyIM(p *parser) bool {
// TODO: detect <select> inside a table.
p.im = inSelectIM
return true
+ case "form":
+ if p.form == nil {
+ p.popUntil(buttonScopeStopTags, "p")
+ p.addElement(p.tok.Data, p.tok.Attr)
+ p.form = p.top()
+ }
case "li":
p.framesetOK = false
for i := len(p.oe) - 1; i >= 0; i-- {
diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go
index 3c278b3145..0fd2dc82b3 100644
--- a/src/pkg/html/parse_test.go
+++ b/src/pkg/html/parse_test.go
@@ -134,7 +134,7 @@ func TestParser(t *testing.T) {
}{
// TODO(nigeltao): Process all the test cases from all the .dat files.
{"tests1.dat", -1},
- {"tests2.dat", 26},
+ {"tests2.dat", 33},
{"tests3.dat", 0},
}
for _, tf := range testFiles {