summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/runes/example_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/runes/example_test.go')
-rw-r--r--vendor/golang.org/x/text/runes/example_test.go60
1 files changed, 60 insertions, 0 deletions
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
index 0000000..a60bfd9
--- /dev/null
+++ b/vendor/golang.org/x/text/runes/example_test.go
@@ -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₩
+}