func testCollator(c *collate.Collator) { c0 := collate.New("") // iterator over all characters for all locales and check // whether Key is equal. buf := collate.Buffer{} // Add all common and not too uncommon runes to the test set. for i := rune(0); i < 0x30000; i++ { testInput.add(string(i)) } for i := rune(0xE0000); i < 0xF0000; i++ { testInput.add(string(i)) } for _, str := range testInput.values() { k0 := c0.KeyFromString(&buf, str) k := c.KeyFromString(&buf, str) if bytes.Compare(k0, k) != 0 { failOnError(fmt.Errorf("test:%U: keys differ (%x vs %x)", []rune(str), k0, k)) } buf.ResetKeys() } fmt.Println("PASS") }
func newGoCollator(locale string) (Collator, error) { c := &goCollator{c: collate.New(locale)} return c, nil }