aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/golang.org/x/text/collate/export_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/collate/export_test.go
First commit
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
+}