summaryrefslogtreecommitdiff
path: root/src/pkg/xml/xml_test.go
diff options
context:
space:
mode:
authorKyle Consalus <consalus@gmail.com>2010-03-23 09:43:20 -0700
committerKyle Consalus <consalus@gmail.com>2010-03-23 09:43:20 -0700
commit3515ef9d3b3cc90214cb2fe8e4df55c9d775a8f5 (patch)
tree46d11280b7ae68d9f661804937cc50509fe45a59 /src/pkg/xml/xml_test.go
parent7a35908d56fb8a0c06db4fdc2b70640862e75642 (diff)
downloadgolang-3515ef9d3b3cc90214cb2fe8e4df55c9d775a8f5.tar.gz
xml: add CopyToken
R=rsc CC=golang-dev http://codereview.appspot.com/634042 Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/pkg/xml/xml_test.go')
-rw-r--r--src/pkg/xml/xml_test.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/pkg/xml/xml_test.go b/src/pkg/xml/xml_test.go
index 3749a3a53..37538cbe9 100644
--- a/src/pkg/xml/xml_test.go
+++ b/src/pkg/xml/xml_test.go
@@ -328,3 +328,29 @@ func TestUnquotedAttrs(t *testing.T) {
t.Errorf("Unexpected attribute name: %v", attr.Name.Local)
}
}
+
+func TestCopyTokenCharData(t *testing.T) {
+ data := []byte("same data")
+ var tok1 Token = CharData(data)
+ tok2 := CopyToken(tok1)
+ if !reflect.DeepEqual(tok1, tok2) {
+ t.Error("CopyToken(CharData) != CharData")
+ }
+ data[1] = 'o'
+ if reflect.DeepEqual(tok1, tok2) {
+ t.Error("CopyToken(CharData) uses same buffer.")
+ }
+}
+
+func TestCopyTokenStartElement(t *testing.T) {
+ elt := StartElement{Name{"", "hello"}, []Attr{Attr{Name{"", "lang"}, "en"}}}
+ var tok1 Token = elt
+ tok2 := CopyToken(tok1)
+ if !reflect.DeepEqual(tok1, tok2) {
+ t.Error("CopyToken(StartElement) != StartElement")
+ }
+ elt.Attr[0] = Attr{Name{"", "lang"}, "de"}
+ if reflect.DeepEqual(tok1, tok2) {
+ t.Error("CopyToken(CharData) uses same buffer.")
+ }
+}