// Ensure that ceratain properties were generated correctly. func TestTable(t *testing.T) { tests := []tableTest{ tableTest{ rangetable.Merge( unicode.Lt, unicode.Nl, unicode.No, // Other letter digits unicode.Me, // Modifiers unicode.Zs, // Spaces unicode.So, // Symbols unicode.Pi, unicode.Pf, // Punctuation ), idDisOrFreePVal, }, tableTest{ rangetable.New(0x30000, 0x30101, 0xDFFFF), unassigned, }, } assigned := rangetable.Assigned(UnicodeVersion) for _, test := range tests { rangetable.Visit(test.rangeTable, func(r rune) { if !unicode.In(r, assigned) { return } b := make([]byte, 4) n := utf8.EncodeRune(b, r) trieval, _ := dpTrie.lookup(b[:n]) p := entry(trieval).property() if p != test.prop && !exceptions.Contains(r) { t.Errorf("%U: got %+x; want %+x", r, test.prop, p) } }) } }
// Ensure that ceratain properties were generated correctly. func TestTable(t *testing.T) { tests := []tableTest{ tableTest{ rangetable.Merge( unicode.Lt, unicode.Nl, unicode.No, // Other letter digits unicode.Me, // Modifiers unicode.Zs, // Spaces unicode.So, // Symbols unicode.Pi, unicode.Pf, // Punctuation ), freePVal | idDis, }, tableTest{ rangetable.New(0x30000, 0x30101, 0xDFFFF), unassigned, }, } for _, test := range tests { test.run(t) } }