summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/message/message_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/message/message_test.go')
-rw-r--r--vendor/golang.org/x/text/message/message_test.go41
1 files changed, 29 insertions, 12 deletions
diff --git a/vendor/golang.org/x/text/message/message_test.go b/vendor/golang.org/x/text/message/message_test.go
index f7dba8d06..e411415b1 100644
--- a/vendor/golang.org/x/text/message/message_test.go
+++ b/vendor/golang.org/x/text/message/message_test.go
@@ -10,8 +10,10 @@ import (
"io"
"testing"
+ "golang.org/x/text/internal"
"golang.org/x/text/internal/format"
"golang.org/x/text/language"
+ "golang.org/x/text/message/catalog"
)
type formatFunc func(s fmt.State, v rune)
@@ -130,20 +132,35 @@ func TestFormatSelection(t *testing.T) {
cat, _ := initCat(tc.cat)
for i, pt := range tc.test {
- p := cat.Printer(language.MustParse(pt.tag))
+ t.Run(fmt.Sprintf("%s:%d", tc.desc, i), func(t *testing.T) {
+ p := NewPrinter(language.MustParse(pt.tag), Catalog(cat))
- if got := p.Sprintf(pt.key, pt.args...); got != pt.want {
- t.Errorf("%s:%d:Sprintf(%s, %v) = %s; want %s",
- tc.desc, i, pt.key, pt.args, got, pt.want)
- continue // Next error will likely be the same.
- }
+ if got := p.Sprintf(pt.key, pt.args...); got != pt.want {
+ t.Errorf("Sprintf(%q, %v) = %s; want %s",
+ pt.key, pt.args, got, pt.want)
+ return // Next error will likely be the same.
+ }
- w := &bytes.Buffer{}
- p.Fprintf(w, pt.key, pt.args...)
- if got := w.String(); got != pt.want {
- t.Errorf("%s:%d:Fprintf(%s, %v) = %s; want %s",
- tc.desc, i, pt.key, pt.args, got, pt.want)
- }
+ w := &bytes.Buffer{}
+ p.Fprintf(w, pt.key, pt.args...)
+ if got := w.String(); got != pt.want {
+ t.Errorf("Fprintf(%q, %v) = %s; want %s",
+ pt.key, pt.args, got, pt.want)
+ }
+ })
}
}
}
+
+type entry struct{ tag, key, msg string }
+
+func initCat(entries []entry) (*catalog.Catalog, []language.Tag) {
+ tags := []language.Tag{}
+ cat := catalog.New()
+ for _, e := range entries {
+ tag := language.MustParse(e.tag)
+ tags = append(tags, tag)
+ cat.SetString(tag, e.key, e.msg)
+ }
+ return cat, internal.UniqueTags(tags)
+}