From 621e49bb465f500cc46d47e39e828cf76d6381d7 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 24 Jul 2018 14:35:44 +0200 Subject: update vendor --- vendor/golang.org/x/text/number/number_test.go | 190 +++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 vendor/golang.org/x/text/number/number_test.go (limited to 'vendor/golang.org/x/text/number/number_test.go') diff --git a/vendor/golang.org/x/text/number/number_test.go b/vendor/golang.org/x/text/number/number_test.go new file mode 100644 index 0000000..3dcac36 --- /dev/null +++ b/vendor/golang.org/x/text/number/number_test.go @@ -0,0 +1,190 @@ +// Copyright 2017 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 number + +import ( + "strings" + "testing" + + "golang.org/x/text/language" + "golang.org/x/text/message" +) + +func TestFormatter(t *testing.T) { + overrides := map[string]string{ + "en": "*e#######0", + "nl": "*n#######0", + } + testCases := []struct { + desc string + tag string + f Formatter + want string + }{{ + desc: "decimal", + f: Decimal(3), + want: "3", + }, { + desc: "decimal fraction", + f: Decimal(0.123), + want: "0.123", + }, { + desc: "separators", + f: Decimal(1234.567), + want: "1,234.567", + }, { + desc: "no separators", + f: Decimal(1234.567, NoSeparator()), + want: "1234.567", + }, { + desc: "max integer", + f: Decimal(1973, MaxIntegerDigits(2)), + want: "73", + }, { + desc: "max integer overflow", + f: Decimal(1973, MaxIntegerDigits(1000)), + want: "1,973", + }, { + desc: "min integer", + f: Decimal(12, MinIntegerDigits(5)), + want: "00,012", + }, { + desc: "max fraction zero", + f: Decimal(0.12345, MaxFractionDigits(0)), + want: "0", + }, { + desc: "max fraction 2", + f: Decimal(0.12, MaxFractionDigits(2)), + want: "0.12", + }, { + desc: "min fraction 2", + f: Decimal(0.12, MaxFractionDigits(2)), + want: "0.12", + }, { + desc: "max fraction overflow", + f: Decimal(0.125, MaxFractionDigits(1e6)), + want: "0.125", + }, { + desc: "min integer overflow", + f: Decimal(0, MinIntegerDigits(1e6)), + want: strings.Repeat("000,", 255/3-1) + "000", + }, { + desc: "min fraction overflow", + f: Decimal(0, MinFractionDigits(1e6)), + want: "0." + strings.Repeat("0", 255), // TODO: fraction separators + }, { + desc: "format width", + f: Decimal(123, FormatWidth(10)), + want: " 123", + }, { + desc: "format width pad option before", + f: Decimal(123, Pad('*'), FormatWidth(10)), + want: "*******123", + }, { + desc: "format width pad option after", + f: Decimal(123, FormatWidth(10), Pad('*')), + want: "*******123", + }, { + desc: "format width illegal", + f: Decimal(123, FormatWidth(-1)), + want: "123", + }, { + desc: "increment", + f: Decimal(10.33, IncrementString("0.5")), + want: "10.5", + }, { + desc: "increment", + f: Decimal(10, IncrementString("ppp")), + want: "10", + }, { + desc: "increment and scale", + f: Decimal(10.33, IncrementString("0.5"), Scale(2)), + want: "10.50", + }, { + desc: "pattern overrides en", + tag: "en", + f: Decimal(101, PatternOverrides(overrides)), + want: "eeeee101", + }, { + desc: "pattern overrides nl", + tag: "nl", + f: Decimal(101, PatternOverrides(overrides)), + want: "nnnnn101", + }, { + desc: "pattern overrides de", + tag: "de", + f: Decimal(101, PatternOverrides(overrides)), + want: "101", + }, { + desc: "language selection", + tag: "bn", + f: Decimal(123456.78, Scale(2)), + want: "১,২৩,৪৫৬.৭৮", + }, { + desc: "scale", + f: Decimal(1234.567, Scale(2)), + want: "1,234.57", + }, { + desc: "scientific", + f: Scientific(3.00), + want: "3\u202f×\u202f10⁰", + }, { + desc: "scientific", + f: Scientific(1234), + want: "1.234\u202f×\u202f10³", + }, { + desc: "scientific", + f: Scientific(1234, Scale(2)), + want: "1.23\u202f×\u202f10³", + }, { + desc: "engineering", + f: Engineering(12345), + want: "12.345\u202f×\u202f10³", + }, { + desc: "engineering scale", + f: Engineering(12345, Scale(2)), + want: "12.34\u202f×\u202f10³", + }, { + desc: "engineering precision(4)", + f: Engineering(12345, Precision(4)), + want: "12.34\u202f×\u202f10³", + }, { + desc: "engineering precision(2)", + f: Engineering(1234.5, Precision(2)), + want: "1.2\u202f×\u202f10³", + }, { + desc: "percent", + f: Percent(0.12), + want: "12%", + }, { + desc: "permille", + f: PerMille(0.123), + want: "123‰", + }, { + desc: "percent rounding", + f: PerMille(0.12345), + want: "123‰", + }, { + desc: "percent fraction", + f: PerMille(0.12345, Scale(2)), + want: "123.45‰", + }, { + desc: "percent fraction", + f: PerMille(0.12344, Scale(1)), + want: "123.4‰", + }} + for _, tc := range testCases { + t.Run(tc.desc, func(t *testing.T) { + tag := language.Und + if tc.tag != "" { + tag = language.MustParse(tc.tag) + } + got := message.NewPrinter(tag).Sprint(tc.f) + if got != tc.want { + t.Errorf("got %q; want %q", got, tc.want) + } + }) + } +} -- cgit v1.2.3