diff options
Diffstat (limited to 'vendor/golang.org/x/text/internal/number/pattern_test.go')
-rw-r--r-- | vendor/golang.org/x/text/internal/number/pattern_test.go | 61 |
1 files changed, 52 insertions, 9 deletions
diff --git a/vendor/golang.org/x/text/internal/number/pattern_test.go b/vendor/golang.org/x/text/internal/number/pattern_test.go index 810b5a855..6adeaf7cc 100644 --- a/vendor/golang.org/x/text/internal/number/pattern_test.go +++ b/vendor/golang.org/x/text/internal/number/pattern_test.go @@ -26,6 +26,20 @@ var testCases = []struct { MinIntegerDigits: 1, }, }, { + "+0", + &Pattern{ + Affix: "\x01+\x00", + FormatWidth: 2, + MinIntegerDigits: 1, + }, +}, { + "0+", + &Pattern{ + Affix: "\x00\x01+", + FormatWidth: 2, + MinIntegerDigits: 1, + }, +}, { "0000", &Pattern{ FormatWidth: 4, @@ -52,6 +66,22 @@ var testCases = []struct { MaxFractionDigits: 6, }, }, { + "#,0", + &Pattern{ + FormatWidth: 3, + GroupingSize: [2]uint8{1, 0}, + MinIntegerDigits: 1, + }, +}, { + "#,0.00", + &Pattern{ + FormatWidth: 6, + GroupingSize: [2]uint8{1, 0}, + MinIntegerDigits: 1, + MinFractionDigits: 2, + MaxFractionDigits: 2, + }, +}, { "#,##0.###", &Pattern{ FormatWidth: 9, @@ -176,7 +206,7 @@ var testCases = []struct { MaxFractionDigits: 3, }, }, { - // Rounding increments + // Rounding increment "1.05", &Pattern{ RoundIncrement: 105, @@ -186,6 +216,17 @@ var testCases = []struct { MaxFractionDigits: 2, }, }, { + // Rounding increment with grouping + "1,05", + &Pattern{ + RoundIncrement: 105, + FormatWidth: 4, + GroupingSize: [2]uint8{2, 0}, + MinIntegerDigits: 3, + MinFractionDigits: 0, + MaxFractionDigits: 0, + }, +}, { "0.0%", &Pattern{ Affix: "\x00\x01%", @@ -282,19 +323,21 @@ var testCases = []struct { func TestParsePattern(t *testing.T) { for i, tc := range testCases { - f, err := ParsePattern(tc.pat) - if !reflect.DeepEqual(f, tc.want) { - t.Errorf("%d:%s:\ngot %#v;\nwant %#v", i, tc.pat, f, tc.want) - } - if got, want := err != nil, tc.want == nil; got != want { - t.Errorf("%d:%s:error: got %v; want %v", i, tc.pat, err, want) - } + t.Run(tc.pat, func(t *testing.T) { + f, err := ParsePattern(tc.pat) + if !reflect.DeepEqual(f, tc.want) { + t.Errorf("%d:%s:\ngot %#v;\nwant %#v", i, tc.pat, f, tc.want) + } + if got, want := err != nil, tc.want == nil; got != want { + t.Errorf("%d:%s:error: got %v; want %v", i, tc.pat, err, want) + } + }) } } func TestPatternSize(t *testing.T) { if sz := unsafe.Sizeof(Pattern{}); sz > 48 { - t.Errorf("got %d; want 48", sz) + t.Errorf("got %d; want <= 48", sz) } } |