From 170e3c7485a845ba729e8d158abb3770507958b9 Mon Sep 17 00:00:00 2001 From: Kyle Consalus Date: Tue, 23 Mar 2010 13:20:16 -0700 Subject: xml: add line numbers to syntax errors. R=rsc CC=golang-dev http://codereview.appspot.com/699041 Committer: Russ Cox --- src/pkg/xml/xml_test.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/pkg/xml/xml_test.go') diff --git a/src/pkg/xml/xml_test.go b/src/pkg/xml/xml_test.go index 37538cbe9..dab35df73 100644 --- a/src/pkg/xml/xml_test.go +++ b/src/pkg/xml/xml_test.go @@ -209,7 +209,7 @@ func TestSyntax(t *testing.T) { var err os.Error for _, err = p.Token(); err == nil; _, err = p.Token() { } - if _, ok := err.(SyntaxError); !ok { + if _, ok := err.(*SyntaxError); !ok { t.Fatalf(`xmlInput "%s": expected SyntaxError not received`, xmlInput[i]) } } @@ -314,7 +314,7 @@ func TestUnquotedAttrs(t *testing.T) { p := NewParser(StringReader(data)) p.Strict = false token, err := p.Token() - if _, ok := err.(SyntaxError); ok { + if _, ok := err.(*SyntaxError); ok { t.Errorf("Unexpected error: %v", err) } if token.(StartElement).Name.Local != "tag" { @@ -354,3 +354,18 @@ func TestCopyTokenStartElement(t *testing.T) { t.Error("CopyToken(CharData) uses same buffer.") } } + +func TestSyntaxErrorLineNum(t *testing.T) { + testInput := "

Foo

\n\n

Bar\n" + p := NewParser(StringReader(testInput)) + var err os.Error + for _, err = p.Token(); err == nil; _, err = p.Token() { + } + synerr, ok := err.(*SyntaxError) + if !ok { + t.Error("Expected SyntaxError.") + } + if synerr.Line != 3 { + t.Error("SyntaxError didn't have correct line number.") + } +} -- cgit v1.2.3