summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go')
-rw-r--r--vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go55
1 files changed, 55 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go b/vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go
new file mode 100644
index 0000000..5a355aa
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go
@@ -0,0 +1,55 @@
+package rangetable
+
+import (
+ "reflect"
+ "testing"
+ "unicode"
+)
+
+var (
+ empty = &unicode.RangeTable{}
+ many = &unicode.RangeTable{
+ R16: []unicode.Range16{{0, 0xffff, 5}},
+ R32: []unicode.Range32{{0x10004, 0x10009, 5}},
+ LatinOffset: 0,
+ }
+)
+
+func TestVisit(t *testing.T) {
+ Visit(empty, func(got rune) {
+ t.Error("call from empty RangeTable")
+ })
+
+ var want rune
+ Visit(many, func(got rune) {
+ if got != want {
+ t.Errorf("got %U; want %U", got, want)
+ }
+ want += 5
+ })
+ if want -= 5; want != 0x10009 {
+ t.Errorf("last run was %U; want U+10009", want)
+ }
+}
+
+func TestNew(t *testing.T) {
+ for i, rt := range []*unicode.RangeTable{
+ empty,
+ unicode.Co,
+ unicode.Letter,
+ unicode.ASCII_Hex_Digit,
+ many,
+ maxRuneTable,
+ } {
+ var got, want []rune
+ Visit(rt, func(r rune) {
+ want = append(want, r)
+ })
+ Visit(New(want...), func(r rune) {
+ got = append(got, r)
+ })
+ if !reflect.DeepEqual(got, want) {
+ t.Errorf("%d:\ngot %v;\nwant %v", i, got, want)
+ }
+ }
+}