summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/unicode/norm/forminfo_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/unicode/norm/forminfo_test.go')
-rw-r--r--vendor/golang.org/x/text/unicode/norm/forminfo_test.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo_test.go b/vendor/golang.org/x/text/unicode/norm/forminfo_test.go
new file mode 100644
index 0000000..e15ba9b
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/norm/forminfo_test.go
@@ -0,0 +1,54 @@
+// Copyright 2013 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.
+
+// +build test
+
+package norm
+
+import "testing"
+
+func TestProperties(t *testing.T) {
+ var d runeData
+ CK := [2]string{"C", "K"}
+ for k, r := 1, rune(0); r < 0x2ffff; r++ {
+ if k < len(testData) && r == testData[k].r {
+ d = testData[k]
+ k++
+ }
+ s := string(r)
+ for j, p := range []Properties{NFC.PropertiesString(s), NFKC.PropertiesString(s)} {
+ f := d.f[j]
+ if p.CCC() != d.ccc {
+ t.Errorf("%U: ccc(%s): was %d; want %d %X", r, CK[j], p.CCC(), d.ccc, p.index)
+ }
+ if p.isYesC() != (f.qc == Yes) {
+ t.Errorf("%U: YesC(%s): was %v; want %v", r, CK[j], p.isYesC(), f.qc == Yes)
+ }
+ if p.combinesBackward() != (f.qc == Maybe) {
+ t.Errorf("%U: combines backwards(%s): was %v; want %v", r, CK[j], p.combinesBackward(), f.qc == Maybe)
+ }
+ if p.nLeadingNonStarters() != d.nLead {
+ t.Errorf("%U: nLead(%s): was %d; want %d %#v %#v", r, CK[j], p.nLeadingNonStarters(), d.nLead, p, d)
+ }
+ if p.nTrailingNonStarters() != d.nTrail {
+ t.Errorf("%U: nTrail(%s): was %d; want %d %#v %#v", r, CK[j], p.nTrailingNonStarters(), d.nTrail, p, d)
+ }
+ if p.combinesForward() != f.combinesForward {
+ t.Errorf("%U: combines forward(%s): was %v; want %v %#v", r, CK[j], p.combinesForward(), f.combinesForward, p)
+ }
+ // Skip Hangul as it is algorithmically computed.
+ if r >= hangulBase && r < hangulEnd {
+ continue
+ }
+ if p.hasDecomposition() {
+ if has := f.decomposition != ""; !has {
+ t.Errorf("%U: hasDecomposition(%s): was %v; want %v", r, CK[j], p.hasDecomposition(), has)
+ }
+ if string(p.Decomposition()) != f.decomposition {
+ t.Errorf("%U: decomp(%s): was %+q; want %+q", r, CK[j], p.Decomposition(), f.decomposition)
+ }
+ }
+ }
+ }
+}