aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/xml
diff options
context:
space:
mode:
authorConstantin Konstantinidis <constantinkonstantinidis@gmail.com>2023-10-15 17:58:43 +0200
committerGopher Robot <gobot@golang.org>2024-02-28 20:19:43 +0000
commitb426e9797ffffff54103db85d8cd29fe882f2262 (patch)
tree21481909cc762ba6eb8163f66e1d2201404c311f /src/encoding/xml
parent6e49ccc7dbeda9b17bb816c6ca4a3018ff93d681 (diff)
downloadgo-b426e9797ffffff54103db85d8cd29fe882f2262.tar.xz
encoding/xml: display closing space in error message
Fixes #48890 Change-Id: I7644d091ad92663bda52ef4905239ec499ef9207 Reviewed-on: https://go-review.googlesource.com/c/go/+/535535 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org>
Diffstat (limited to 'src/encoding/xml')
-rw-r--r--src/encoding/xml/xml.go6
-rw-r--r--src/encoding/xml/xml_test.go4
2 files changed, 8 insertions, 2 deletions
diff --git a/src/encoding/xml/xml.go b/src/encoding/xml/xml.go
index a1e63ed30d..582cfee222 100644
--- a/src/encoding/xml/xml.go
+++ b/src/encoding/xml/xml.go
@@ -493,8 +493,12 @@ func (d *Decoder) popElement(t *EndElement) bool {
d.err = d.syntaxError("element <" + s.name.Local + "> closed by </" + name.Local + ">")
return false
case s.name.Space != name.Space:
+ ns := name.Space
+ if name.Space == "" {
+ ns = `""`
+ }
d.err = d.syntaxError("element <" + s.name.Local + "> in space " + s.name.Space +
- " closed by </" + name.Local + "> in space " + name.Space)
+ " closed by </" + name.Local + "> in space " + ns)
return false
}
diff --git a/src/encoding/xml/xml_test.go b/src/encoding/xml/xml_test.go
index 2c985f7c70..c3848c3873 100644
--- a/src/encoding/xml/xml_test.go
+++ b/src/encoding/xml/xml_test.go
@@ -1346,6 +1346,8 @@ func TestParseErrors(t *testing.T) {
{withDefaultHeader(`<!- not ok -->`), `invalid sequence <!- not part of <!--`},
{withDefaultHeader(`<!-? not ok -->`), `invalid sequence <!- not part of <!--`},
{withDefaultHeader(`<![not ok]>`), `invalid <![ sequence`},
+ {withDefaultHeader(`<zzz:foo xmlns:zzz="http://example.com"><bar>baz</bar></foo>`),
+ `element <foo> in space zzz closed by </foo> in space ""`},
{withDefaultHeader("\xf1"), `invalid UTF-8`},
// Header-related errors.
@@ -1379,7 +1381,7 @@ func TestParseErrors(t *testing.T) {
continue
}
if !strings.Contains(err.Error(), test.err) {
- t.Errorf("parse %s: can't find %q error sudbstring\nerror: %q", test.src, test.err, err)
+ t.Errorf("parse %s: can't find %q error substring\nerror: %q", test.src, test.err, err)
continue
}
}