xml: allow text segments to end at EOF

Fixes #674.

R=adg
CC=golang-dev
https://golang.org/cl/1018042
This commit is contained in:
Russ Cox 2010-04-28 19:29:20 -07:00
parent de92199648
commit 0485ba72c3
3 changed files with 31 additions and 7 deletions

View file

@ -102,7 +102,6 @@ var xmlInput = []string{
"<t",
"<t ",
"<t/",
"<t/>c",
"<!",
"<!-",
"<!--",
@ -124,8 +123,6 @@ var xmlInput = []string{
"<t/><![CDATA[d]]",
// other Syntax errors
" ",
">",
"<>",
"<t/a",
"<0 />",
@ -140,7 +137,6 @@ var xmlInput = []string{
"<t a=>",
"<t a=v>",
// "<![CDATA[d]]>", // let the Token() caller handle
"cdata",
"<t></e>",
"<t></>",
"<t></t!",
@ -369,3 +365,25 @@ func TestSyntaxErrorLineNum(t *testing.T) {
t.Error("SyntaxError didn't have correct line number.")
}
}
func TestTrailingRawToken(t *testing.T) {
input := `<FOO></FOO> `
p := NewParser(StringReader(input))
var err os.Error
for _, err = p.RawToken(); err == nil; _, err = p.RawToken() {
}
if err != os.EOF {
t.Fatalf("p.RawToken() = _, %v, want _, os.EOF", err)
}
}
func TestTrailingToken(t *testing.T) {
input := `<FOO></FOO> `
p := NewParser(StringReader(input))
var err os.Error
for _, err = p.Token(); err == nil; _, err = p.Token() {
}
if err != os.EOF {
t.Fatalf("p.Token() = _, %v, want _, os.EOF", err)
}
}