diff options
Diffstat (limited to 'libgo/go/exp/utf8string/string_test.go')
-rw-r--r-- | libgo/go/exp/utf8string/string_test.go | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/libgo/go/exp/utf8string/string_test.go b/libgo/go/exp/utf8string/string_test.go deleted file mode 100644 index 28511b2f5f1..00000000000 --- a/libgo/go/exp/utf8string/string_test.go +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package utf8string - -import ( - "math/rand" - "testing" - "unicode/utf8" -) - -var testStrings = []string{ - "", - "abcd", - "☺☻☹", - "日a本b語ç日ð本Ê語þ日¥本¼語i日©", - "日a本b語ç日ð本Ê語þ日¥本¼語i日©日a本b語ç日ð本Ê語þ日¥本¼語i日©日a本b語ç日ð本Ê語þ日¥本¼語i日©", - "\x80\x80\x80\x80", -} - -func TestScanForwards(t *testing.T) { - for _, s := range testStrings { - runes := []rune(s) - str := NewString(s) - if str.RuneCount() != len(runes) { - t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) - break - } - for i, expect := range runes { - got := str.At(i) - if got != expect { - t.Errorf("%s[%d]: expected %c (%U); got %c (%U)", s, i, expect, expect, got, got) - } - } - } -} - -func TestScanBackwards(t *testing.T) { - for _, s := range testStrings { - runes := []rune(s) - str := NewString(s) - if str.RuneCount() != len(runes) { - t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) - break - } - for i := len(runes) - 1; i >= 0; i-- { - expect := runes[i] - got := str.At(i) - if got != expect { - t.Errorf("%s[%d]: expected %c (%U); got %c (%U)", s, i, expect, expect, got, got) - } - } - } -} - -func randCount() int { - if testing.Short() { - return 100 - } - return 100000 -} - -func TestRandomAccess(t *testing.T) { - for _, s := range testStrings { - if len(s) == 0 { - continue - } - runes := []rune(s) - str := NewString(s) - if str.RuneCount() != len(runes) { - t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) - break - } - for j := 0; j < randCount(); j++ { - i := rand.Intn(len(runes)) - expect := runes[i] - got := str.At(i) - if got != expect { - t.Errorf("%s[%d]: expected %c (%U); got %c (%U)", s, i, expect, expect, got, got) - } - } - } -} - -func TestRandomSliceAccess(t *testing.T) { - for _, s := range testStrings { - if len(s) == 0 || s[0] == '\x80' { // the bad-UTF-8 string fools this simple test - continue - } - runes := []rune(s) - str := NewString(s) - if str.RuneCount() != len(runes) { - t.Errorf("%s: expected %d runes; got %d", s, len(runes), str.RuneCount()) - break - } - for k := 0; k < randCount(); k++ { - i := rand.Intn(len(runes)) - j := rand.Intn(len(runes) + 1) - if i > j { // include empty strings - continue - } - expect := string(runes[i:j]) - got := str.Slice(i, j) - if got != expect { - t.Errorf("%s[%d:%d]: expected %q got %q", s, i, j, expect, got) - } - } - } -} - -func TestLimitSliceAccess(t *testing.T) { - for _, s := range testStrings { - str := NewString(s) - if str.Slice(0, 0) != "" { - t.Error("failure with empty slice at beginning") - } - nr := utf8.RuneCountInString(s) - if str.Slice(nr, nr) != "" { - t.Error("failure with empty slice at end") - } - } -} |