summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/internal/number/pattern_test.go
diff options
context:
space:
mode:
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.go61
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)
}
}