1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
10 "golang.org/x/text/internal/gen"
11 "golang.org/x/text/internal/testtext"
12 "golang.org/x/text/internal/ucd"
15 var labels = []string{
42 func TestTables(t *testing.T) {
43 testtext.SkipIfNotLong(t)
45 ucd.Parse(gen.OpenUCDFile("BidiBrackets.txt"), func(p *ucd.Parser) {
49 e, _ := LookupRune(r1)
50 if got := e.reverseBracket(r1); got != want {
51 t.Errorf("Reverse(%U) = %U; want %U", r1, got, want)
55 done := map[rune]bool{}
56 test := func(name string, r rune, want string) {
58 e, _ := LookupString(str)
59 if got := labels[e.Class()]; got != want {
60 t.Errorf("%s:%U: got %s; want %s", name, r, got, want)
62 if e2, sz := LookupRune(r); e != e2 || sz != len(str) {
63 t.Errorf("LookupRune(%U) = %v, %d; want %v, %d", r, e2, e, sz, len(str))
65 if e2, sz := Lookup([]byte(str)); e != e2 || sz != len(str) {
66 t.Errorf("Lookup(%U) = %v, %d; want %v, %d", r, e2, e, sz, len(str))
71 // Insert the derived BiDi properties.
72 ucd.Parse(gen.OpenUCDFile("extracted/DerivedBidiClass.txt"), func(p *ucd.Parser) {
74 test("derived", r, p.String(1))
76 visitDefaults(func(r rune, c Class) {
78 test("default", r, labels[c])