| // 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 unicode_test | |
| import ( | |
| "testing" | |
| . "unicode" | |
| ) | |
| var testDigit = []rune{ | |
| 0x0030, | |
| 0x0039, | |
| 0x0661, | |
| 0x06F1, | |
| 0x07C9, | |
| 0x0966, | |
| 0x09EF, | |
| 0x0A66, | |
| 0x0AEF, | |
| 0x0B66, | |
| 0x0B6F, | |
| 0x0BE6, | |
| 0x0BEF, | |
| 0x0C66, | |
| 0x0CEF, | |
| 0x0D66, | |
| 0x0D6F, | |
| 0x0E50, | |
| 0x0E59, | |
| 0x0ED0, | |
| 0x0ED9, | |
| 0x0F20, | |
| 0x0F29, | |
| 0x1040, | |
| 0x1049, | |
| 0x1090, | |
| 0x1091, | |
| 0x1099, | |
| 0x17E0, | |
| 0x17E9, | |
| 0x1810, | |
| 0x1819, | |
| 0x1946, | |
| 0x194F, | |
| 0x19D0, | |
| 0x19D9, | |
| 0x1B50, | |
| 0x1B59, | |
| 0x1BB0, | |
| 0x1BB9, | |
| 0x1C40, | |
| 0x1C49, | |
| 0x1C50, | |
| 0x1C59, | |
| 0xA620, | |
| 0xA629, | |
| 0xA8D0, | |
| 0xA8D9, | |
| 0xA900, | |
| 0xA909, | |
| 0xAA50, | |
| 0xAA59, | |
| 0xFF10, | |
| 0xFF19, | |
| 0x104A1, | |
| 0x1D7CE, | |
| } | |
| var testLetter = []rune{ | |
| 0x0041, | |
| 0x0061, | |
| 0x00AA, | |
| 0x00BA, | |
| 0x00C8, | |
| 0x00DB, | |
| 0x00F9, | |
| 0x02EC, | |
| 0x0535, | |
| 0x06E6, | |
| 0x093D, | |
| 0x0A15, | |
| 0x0B99, | |
| 0x0DC0, | |
| 0x0EDD, | |
| 0x1000, | |
| 0x1200, | |
| 0x1312, | |
| 0x1401, | |
| 0x1885, | |
| 0x2C00, | |
| 0xA800, | |
| 0xF900, | |
| 0xFA30, | |
| 0xFFDA, | |
| 0xFFDC, | |
| 0x10000, | |
| 0x10300, | |
| 0x10400, | |
| 0x20000, | |
| 0x2F800, | |
| 0x2FA1D, | |
| } | |
| func TestDigit(t *testing.T) { | |
| for _, r := range testDigit { | |
| if !IsDigit(r) { | |
| t.Errorf("IsDigit(U+%04X) = false, want true", r) | |
| } | |
| } | |
| for _, r := range testLetter { | |
| if IsDigit(r) { | |
| t.Errorf("IsDigit(U+%04X) = true, want false", r) | |
| } | |
| } | |
| } | |
| // Test that the special case in IsDigit agrees with the table | |
| func TestDigitOptimization(t *testing.T) { | |
| for i := rune(0); i <= MaxLatin1; i++ { | |
| if Is(Digit, i) != IsDigit(i) { | |
| t.Errorf("IsDigit(U+%04X) disagrees with Is(Digit)", i) | |
| } | |
| } | |
| } |