diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-04-16 05:37:14 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-04-16 08:37:14 -0400 |
commit | 6e2cb00008cbf09e556b00f87603797fcaa47e09 (patch) | |
tree | 3c0eb55ff4226a3f024aad373140d1fb860a6404 /vendor/golang.org/x/text/feature/plural/message_test.go | |
parent | bf24f51c4e1cc6286885460672f7f449e8c6f5ef (diff) | |
download | chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.gz chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.bz2 chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.zip |
Depenancy upgrades and movign to dep. (#8630)
Diffstat (limited to 'vendor/golang.org/x/text/feature/plural/message_test.go')
-rw-r--r-- | vendor/golang.org/x/text/feature/plural/message_test.go | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/vendor/golang.org/x/text/feature/plural/message_test.go b/vendor/golang.org/x/text/feature/plural/message_test.go deleted file mode 100644 index b5bc47e87..000000000 --- a/vendor/golang.org/x/text/feature/plural/message_test.go +++ /dev/null @@ -1,197 +0,0 @@ -// 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 plural - -import ( - "fmt" - "strings" - "testing" - - "golang.org/x/text/internal/catmsg" - "golang.org/x/text/language" - "golang.org/x/text/message/catalog" -) - -func TestSelect(t *testing.T) { - lang := language.English - type test struct { - arg interface{} - result string - err string - } - testCases := []struct { - desc string - msg catalog.Message - err string - tests []test - }{{ - desc: "basic", - msg: Selectf(1, "%d", "one", "foo", "other", "bar"), - tests: []test{ - {arg: 0, result: "bar"}, - {arg: 1, result: "foo"}, - {arg: 2, result: "bar"}, - {arg: opposite(1), result: "bar"}, - {arg: opposite(2), result: "foo"}, - {arg: "unknown", result: "bar"}, // other - }, - }, { - desc: "comparisons", - msg: Selectf(1, "%d", - "=0", "zero", - "=1", "one", - "one", "cannot match", // never matches - "<5", "<5", // never matches - "=5", "=5", - Other, "other"), - tests: []test{ - {arg: 0, result: "zero"}, - {arg: 1, result: "one"}, - {arg: 2, result: "<5"}, - {arg: 4, result: "<5"}, - {arg: 5, result: "=5"}, - {arg: 6, result: "other"}, - {arg: "unknown", result: "other"}, - }, - }, { - desc: "fractions", - msg: Selectf(1, "%.2f", "one", "foo", "other", "bar"), - tests: []test{ - // fractions are always plural in english - {arg: 0, result: "bar"}, - {arg: 1, result: "bar"}, - }, - }, { - desc: "decimal without fractions", - msg: Selectf(1, "%.0f", "one", "foo", "other", "bar"), - tests: []test{ - // fractions are always plural in english - {arg: 0, result: "bar"}, - {arg: 1, result: "foo"}, - }, - }, { - desc: "scientific", - msg: Selectf(1, "%.0e", "one", "foo", "other", "bar"), - tests: []test{ - {arg: 0, result: "bar"}, - {arg: 1, result: "foo"}, - }, - }, { - desc: "variable", - msg: Selectf(1, "%.1g", "one", "foo", "other", "bar"), - tests: []test{ - // fractions are always plural in english - {arg: 0, result: "bar"}, - {arg: 1, result: "foo"}, - {arg: 2, result: "bar"}, - }, - }, { - desc: "default", - msg: Selectf(1, "", "one", "foo", "other", "bar"), - tests: []test{ - {arg: 0, result: "bar"}, - {arg: 1, result: "foo"}, - {arg: 2, result: "bar"}, - {arg: 1.0, result: "bar"}, - }, - }, { - desc: "nested", - msg: Selectf(1, "", "other", Selectf(2, "", "one", "foo", "other", "bar")), - tests: []test{ - {arg: 0, result: "bar"}, - {arg: 1, result: "foo"}, - {arg: 2, result: "bar"}, - }, - }, { - desc: "arg unavailable", - msg: Selectf(100, "%.2f", "one", "foo", "other", "bar"), - tests: []test{{arg: 1, result: "bar"}}, - }, { - desc: "no match", - msg: Selectf(1, "%.2f", "one", "foo"), - tests: []test{{arg: 0, result: "bar", err: catmsg.ErrNoMatch.Error()}}, - }, { - desc: "error invalid form", - err: `invalid plural form "excessive"`, - msg: Selectf(1, "%d", "excessive", "foo"), - }, { - desc: "error form not used by language", - err: `form "many" not supported for language "en"`, - msg: Selectf(1, "%d", "many", "foo"), - }, { - desc: "error invalid selector", - err: `selector of type int; want string or Form`, - msg: Selectf(1, "%d", 1, "foo"), - }, { - desc: "error missing message", - err: `no message defined for selector one`, - msg: Selectf(1, "%d", "one"), - }, { - desc: "error invalid number", - err: `invalid number in selector "<1.00"`, - msg: Selectf(1, "%d", "<1.00"), - }, { - desc: "error empty selector", - err: `empty selector`, - msg: Selectf(1, "%d", "", "foo"), - }, { - desc: "error invalid message", - err: `message of type int; must be string or catalog.Message`, - msg: Selectf(1, "%d", "one", 3), - }, { - desc: "nested error", - err: `empty selector`, - msg: Selectf(1, "", "other", Selectf(2, "", "")), - }} - for _, tc := range testCases { - t.Run(tc.desc, func(t *testing.T) { - data, err := catmsg.Compile(lang, nil, tc.msg) - chkError(t, err, tc.err) - for _, tx := range tc.tests { - t.Run(fmt.Sprint(tx.arg), func(t *testing.T) { - r := renderer{arg: tx.arg} - d := catmsg.NewDecoder(lang, &r, nil) - err := d.Execute(data) - chkError(t, err, tx.err) - if r.result != tx.result { - t.Errorf("got %q; want %q", r.result, tx.result) - } - }) - } - }) - } -} - -func chkError(t *testing.T, got error, want string) { - if (got == nil && want != "") || - (got != nil && (want == "" || !strings.Contains(got.Error(), want))) { - t.Fatalf("got %v; want %v", got, want) - } - if got != nil { - t.SkipNow() - } -} - -type renderer struct { - arg interface{} - result string -} - -func (r *renderer) Render(s string) { r.result += s } -func (r *renderer) Arg(i int) interface{} { - if i > 10 { // Allow testing "arg unavailable" path - return nil - } - return r.arg -} - -type opposite int - -func (o opposite) PluralForm(lang language.Tag, scale int) (Form, int) { - if o == 1 { - return Other, 1 - } - return One, int(o) -} |