aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/golang.org/x/text/secure/precis/class_test.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 21:10:04 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 22:01:46 -0800
commit8ffb773f43c8dc54801ca1d111854e7e881c93c9 (patch)
tree38133a2fc612597a75fed1d13e5b4042f58a2b7e /vendor/golang.org/x/text/secure/precis/class_test.go
First commit
Diffstat (limited to 'vendor/golang.org/x/text/secure/precis/class_test.go')
-rw-r--r--vendor/golang.org/x/text/secure/precis/class_test.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/secure/precis/class_test.go b/vendor/golang.org/x/text/secure/precis/class_test.go
new file mode 100644
index 0000000..fbaf645
--- /dev/null
+++ b/vendor/golang.org/x/text/secure/precis/class_test.go
@@ -0,0 +1,50 @@
+// Copyright 2015 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 precis
+
+import (
+ "testing"
+
+ "golang.org/x/text/runes"
+)
+
+// Compile-time regression test to ensure that Class is a Set
+var _ runes.Set = (*class)(nil)
+
+// Ensure that certain characters are (or are not) in the identifer class.
+func TestClassContains(t *testing.T) {
+ tests := []struct {
+ name string
+ class *class
+ allowed []rune
+ disallowed []rune
+ }{
+ {
+ name: "Identifier",
+ class: identifier,
+ allowed: []rune("Aa0\u0021\u007e\u00df\u3007"),
+ disallowed: []rune("\u2150\u2100\u2200\u3164\u2190\u2600\u303b\u1e9b"),
+ },
+ {
+ name: "Freeform",
+ class: freeform,
+ allowed: []rune("Aa0\u0021\u007e\u00df\u3007 \u2150\u2100\u2200\u2190\u2600\u1e9b"),
+ disallowed: []rune("\u3164\u303b"),
+ },
+ }
+
+ for _, rt := range tests {
+ for _, r := range rt.allowed {
+ if !rt.class.Contains(r) {
+ t.Errorf("Class %s should contain %U", rt.name, r)
+ }
+ }
+ for _, r := range rt.disallowed {
+ if rt.class.Contains(r) {
+ t.Errorf("Class %s should not contain %U", rt.name, r)
+ }
+ }
+ }
+}