From 8a39ee361feb9bf46d728ff1ba4f07ca1d9610b1 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 19 Jun 2014 09:22:53 +0200 Subject: Imported Upstream version 1.3 --- src/pkg/bytes/bytes_test.go | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'src/pkg/bytes/bytes_test.go') diff --git a/src/pkg/bytes/bytes_test.go b/src/pkg/bytes/bytes_test.go index ab5da4fbf..394dd7a44 100644 --- a/src/pkg/bytes/bytes_test.go +++ b/src/pkg/bytes/bytes_test.go @@ -785,6 +785,16 @@ func TestMap(t *testing.T) { if string(m) != expect { t.Errorf("drop: expected %q got %q", expect, m) } + + // 6. Invalid rune + invalidRune := func(r rune) rune { + return utf8.MaxRune + 1 + } + m = Map(invalidRune, []byte("x")) + expect = "\uFFFD" + if string(m) != expect { + t.Errorf("invalidRune: expected %q got %q", expect, m) + } } func TestToUpper(t *testing.T) { runStringTests(t, ToUpper, "ToUpper", upperTests) } @@ -1073,6 +1083,8 @@ var TitleTests = []TitleTest{ {"123a456", "123a456"}, {"double-blind", "Double-Blind"}, {"ÿøû", "Ÿøû"}, + {"with_underscore", "With_underscore"}, + {"unicode \xe2\x80\xa8 line separator", "Unicode \xe2\x80\xa8 Line Separator"}, } func TestTitle(t *testing.T) { @@ -1132,7 +1144,7 @@ func TestEqualFold(t *testing.T) { func TestBufferGrowNegative(t *testing.T) { defer func() { if err := recover(); err == nil { - t.Fatal("Grow(-1) should have paniced") + t.Fatal("Grow(-1) should have panicked") } }() var b Buffer @@ -1142,7 +1154,7 @@ func TestBufferGrowNegative(t *testing.T) { func TestBufferTruncateNegative(t *testing.T) { defer func() { if err := recover(); err == nil { - t.Fatal("Truncate(-1) should have paniced") + t.Fatal("Truncate(-1) should have panicked") } }() var b Buffer @@ -1152,7 +1164,7 @@ func TestBufferTruncateNegative(t *testing.T) { func TestBufferTruncateOutOfRange(t *testing.T) { defer func() { if err := recover(); err == nil { - t.Fatal("Truncate(20) should have paniced") + t.Fatal("Truncate(20) should have panicked") } }() var b Buffer @@ -1160,6 +1172,24 @@ func TestBufferTruncateOutOfRange(t *testing.T) { b.Truncate(20) } +var containsTests = []struct { + b, subslice []byte + want bool +}{ + {[]byte("hello"), []byte("hel"), true}, + {[]byte("日本語"), []byte("日本"), true}, + {[]byte("hello"), []byte("Hello, world"), false}, + {[]byte("東京"), []byte("京東"), false}, +} + +func TestContains(t *testing.T) { + for _, tt := range containsTests { + if got := Contains(tt.b, tt.subslice); got != tt.want { + t.Errorf("Contains(%q, %q) = %v, want %v", tt.b, tt.subslice, got, tt.want) + } + } +} + var makeFieldsInput = func() []byte { x := make([]byte, 1<<20) // Input is ~10% space, ~10% 2-byte UTF-8, rest ASCII non-space. -- cgit v1.2.3