summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/collate/export_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/collate/export_test.go')
-rw-r--r--vendor/golang.org/x/text/collate/export_test.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/collate/export_test.go b/vendor/golang.org/x/text/collate/export_test.go
new file mode 100644
index 0000000..69bfeaf
--- /dev/null
+++ b/vendor/golang.org/x/text/collate/export_test.go
@@ -0,0 +1,51 @@
+// Copyright 2012 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 collate
+
+// Export for testing.
+// TODO: no longer necessary. Remove at some point.
+
+import (
+ "fmt"
+
+ "golang.org/x/text/internal/colltab"
+)
+
+const (
+ defaultSecondary = 0x20
+ defaultTertiary = 0x2
+)
+
+type Weights struct {
+ Primary, Secondary, Tertiary, Quaternary int
+}
+
+func W(ce ...int) Weights {
+ w := Weights{ce[0], defaultSecondary, defaultTertiary, 0}
+ if len(ce) > 1 {
+ w.Secondary = ce[1]
+ }
+ if len(ce) > 2 {
+ w.Tertiary = ce[2]
+ }
+ if len(ce) > 3 {
+ w.Quaternary = ce[3]
+ }
+ return w
+}
+func (w Weights) String() string {
+ return fmt.Sprintf("[%X.%X.%X.%X]", w.Primary, w.Secondary, w.Tertiary, w.Quaternary)
+}
+
+func convertFromWeights(ws []Weights) []colltab.Elem {
+ out := make([]colltab.Elem, len(ws))
+ for i, w := range ws {
+ out[i], _ = colltab.MakeElem(w.Primary, w.Secondary, w.Tertiary, 0)
+ if out[i] == colltab.Ignore && w.Quaternary > 0 {
+ out[i] = colltab.MakeQuaternary(w.Quaternary)
+ }
+ }
+ return out
+}