From 52e5d061c792750bc37bb43e1f1dbcf3d8dcfb85 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Thu, 4 Jun 2009 15:00:15 -0700 Subject: bytes.Copy R=rsc DELTA=38 (38 added, 0 deleted, 0 changed) OCL=29895 CL=29895 --- src/lib/bytes/bytes_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/lib/bytes/bytes_test.go') diff --git a/src/lib/bytes/bytes_test.go b/src/lib/bytes/bytes_test.go index 26b3fc21d0..4e7cdfad65 100644 --- a/src/lib/bytes/bytes_test.go +++ b/src/lib/bytes/bytes_test.go @@ -128,3 +128,30 @@ func TestSplit(t *testing.T) { } } } + +type CopyTest struct { + a string; + b string; + res string; +} +var copytests = []CopyTest { + CopyTest{ "", "", "" }, + CopyTest{ "a", "", "a" }, + CopyTest{ "a", "a", "a" }, + CopyTest{ "a", "b", "b" }, + CopyTest{ "xyz", "abc", "abc" }, + CopyTest{ "wxyz", "abc", "abcz" }, +} + +func TestCopy(t *testing.T) { + for i := 0; i < len(copytests); i++ { + tt := copytests[i]; + dst := io.StringBytes(tt.a); + Copy(dst, io.StringBytes(tt.b)); + result := string(dst); + if result != tt.res { + t.Errorf(`Copy("%s", "%s") = "%s"; want "%s"`, tt.a, tt.b, result, tt.res); + continue; + } + } +} -- cgit v1.3