github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/golang/text/internal/number/number_test.go (about) 1 // Copyright 2016 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. 4 5 package number 6 7 import ( 8 "testing" 9 10 "github.com/insionng/yougam/libraries/x/text/language" 11 ) 12 13 func TestInfo(t *testing.T) { 14 testCases := []struct { 15 lang string 16 sym SymbolType 17 wantSym string 18 wantNine rune 19 }{ 20 {"und", SymDecimal, ".", '9'}, 21 {"de", SymGroup, ".", '9'}, 22 {"de-BE", SymGroup, ".", '9'}, // inherits from de (no number data in CLDR) 23 {"de-BE-oxendict", SymGroup, ".", '9'}, // inherits from de (no compact index) 24 25 // U+096F DEVANAGARI DIGIT NINE ('९') 26 {"de-BE-u-nu-deva", SymGroup, ".", '\u096f'}, // miss -> latn -> de 27 {"de-Cyrl-BE", SymGroup, ",", '9'}, // inherits from root 28 {"de-CH", SymGroup, "'", '9'}, // overrides values in de 29 {"de-CH-oxendict", SymGroup, "'", '9'}, // inherits from de-CH (no compact index) 30 {"de-CH-u-nu-deva", SymGroup, "'", '\u096f'}, // miss -> latn -> de-CH 31 32 {"pa", SymExponential, "E", '9'}, 33 34 // "×۱۰^" -> U+00d7 U+06f1 U+06f0^" 35 // U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO 36 // U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE 37 // U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE 38 {"pa-u-nu-arabext", SymExponential, "\u00d7\u06f1\u06f0^", '\u06f9'}, 39 40 // "གྲངས་མེད" - > U+0f42 U+0fb2 U+0f44 U+0f66 U+0f0b U+0f58 U+0f7a U+0f51 41 // Examples: 42 // U+0F29 TIBETAN DIGIT NINE (༩) 43 {"dz", SymInfinity, "\u0f42\u0fb2\u0f44\u0f66\u0f0b\u0f58\u0f7a\u0f51", '\u0f29'}, // defaults to tibt 44 {"dz-u-nu-latn", SymInfinity, "∞", '9'}, // select alternative 45 {"dz-u-nu-tibt", SymInfinity, "\u0f42\u0fb2\u0f44\u0f66\u0f0b\u0f58\u0f7a\u0f51", '\u0f29'}, 46 {"en-u-nu-tibt", SymInfinity, "∞", '\u0f29'}, 47 48 // algorithmic number systems fall back to ASCII if Digits is used. 49 {"en-u-nu-hanidec", SymPlusSign, "+", '9'}, 50 {"en-u-nu-roman", SymPlusSign, "+", '9'}, 51 } 52 for _, tc := range testCases { 53 info := InfoFromTag(language.MustParse(tc.lang)) 54 if got := info.Symbol(tc.sym); got != tc.wantSym { 55 t.Errorf("%s:%v:sym: got %q; want %q", tc.lang, tc.sym, got, tc.wantSym) 56 } 57 if got := info.Digit('9'); got != tc.wantNine { 58 t.Errorf("%s:%v:nine: got %q; want %q", tc.lang, tc.sym, got, tc.wantNine) 59 } 60 } 61 }