OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / golang.org / x / text / runes / example_test.go
diff --git a/vendor/golang.org/x/text/runes/example_test.go b/vendor/golang.org/x/text/runes/example_test.go
new file mode 100644 (file)
index 0000000..a60bfd9
--- /dev/null
@@ -0,0 +1,60 @@
+// Copyright 2014 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 runes_test
+
+import (
+       "fmt"
+       "unicode"
+
+       "golang.org/x/text/runes"
+       "golang.org/x/text/transform"
+       "golang.org/x/text/unicode/norm"
+       "golang.org/x/text/width"
+)
+
+func ExampleRemove() {
+       t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
+       s, _, _ := transform.String(t, "résumé")
+       fmt.Println(s)
+
+       // Output:
+       // resume
+}
+
+func ExampleMap() {
+       replaceHyphens := runes.Map(func(r rune) rune {
+               if unicode.Is(unicode.Hyphen, r) {
+                       return '|'
+               }
+               return r
+       })
+       s, _, _ := transform.String(replaceHyphens, "a-b‐c⸗d﹣e")
+       fmt.Println(s)
+
+       // Output:
+       // a|b|c|d|e
+}
+
+func ExampleIn() {
+       // Convert Latin characters to their canonical form, while keeping other
+       // width distinctions.
+       t := runes.If(runes.In(unicode.Latin), width.Fold, nil)
+       s, _, _ := transform.String(t, "アルアノリウ tech / アルアノリウ tech")
+       fmt.Println(s)
+
+       // Output:
+       // アルアノリウ tech / アルアノリウ tech
+}
+
+func ExampleIf() {
+       // Widen everything but ASCII.
+       isASCII := func(r rune) bool { return r <= unicode.MaxASCII }
+       t := runes.If(runes.Predicate(isASCII), nil, width.Widen)
+       s, _, _ := transform.String(t, "アルアノリウ tech / 中國 / 5₩")
+       fmt.Println(s)
+
+       // Output:
+       // アルアノリウ tech / 中國 / 5₩
+}