summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/unicode/runenames/runenames_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/unicode/runenames/runenames_test.go')
-rw-r--r--vendor/golang.org/x/text/unicode/runenames/runenames_test.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/unicode/runenames/runenames_test.go b/vendor/golang.org/x/text/unicode/runenames/runenames_test.go
new file mode 100644
index 0000000..6a2d2b6
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/runenames/runenames_test.go
@@ -0,0 +1,46 @@
+// Copyright 2016 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 runenames
+
+import (
+ "strings"
+ "testing"
+ "unicode"
+
+ "golang.org/x/text/internal/gen"
+ "golang.org/x/text/internal/testtext"
+ "golang.org/x/text/internal/ucd"
+)
+
+func TestName(t *testing.T) {
+ testtext.SkipIfNotLong(t)
+
+ wants := make([]string, 1+unicode.MaxRune)
+ ucd.Parse(gen.OpenUCDFile("UnicodeData.txt"), func(p *ucd.Parser) {
+ r, s := p.Rune(0), p.String(ucd.Name)
+ if s == "" {
+ return
+ }
+ if s[0] == '<' {
+ const first = ", First>"
+ if i := strings.Index(s, first); i >= 0 {
+ s = s[:i] + ">"
+ }
+ }
+ wants[r] = s
+ })
+
+ nErrors := 0
+ for r, want := range wants {
+ got := Name(rune(r))
+ if got != want {
+ t.Errorf("r=%#08x: got %q, want %q", r, got, want)
+ nErrors++
+ if nErrors == 100 {
+ t.Fatal("too many errors")
+ }
+ }
+ }
+}