| // 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) |
| } |
| } |
| } |