summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go')
-rw-r--r--vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go192
1 files changed, 0 insertions, 192 deletions
diff --git a/vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go b/vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go
deleted file mode 100644
index 20a2131..0000000
--- a/vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2017 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 ianaindex
-
-import (
- "testing"
-
- "golang.org/x/text/encoding"
- "golang.org/x/text/encoding/charmap"
- "golang.org/x/text/encoding/internal/identifier"
- "golang.org/x/text/encoding/japanese"
- "golang.org/x/text/encoding/korean"
- "golang.org/x/text/encoding/simplifiedchinese"
- "golang.org/x/text/encoding/traditionalchinese"
- "golang.org/x/text/encoding/unicode"
-)
-
-var All = [][]encoding.Encoding{
- unicode.All,
- charmap.All,
- japanese.All,
- korean.All,
- simplifiedchinese.All,
- traditionalchinese.All,
-}
-
-// TestAllIANA tests whether an Encoding supported in x/text is defined by IANA but
-// not supported by this package.
-func TestAllIANA(t *testing.T) {
- for _, ea := range All {
- for _, e := range ea {
- mib, _ := e.(identifier.Interface).ID()
- if x := findMIB(ianaToMIB, mib); x != -1 && encodings[x] == nil {
- t.Errorf("supported MIB %v (%v) not in index", mib, e)
- }
- }
- }
-}
-
-// TestNotSupported reports the encodings in IANA, but not by x/text.
-func TestNotSupported(t *testing.T) {
- mibs := map[identifier.MIB]bool{}
- for _, ea := range All {
- for _, e := range ea {
- mib, _ := e.(identifier.Interface).ID()
- mibs[mib] = true
- }
- }
-
- // Many encodings in the IANA index will likely not be suppored by the
- // Go encodings. That is fine.
- // TODO: consider wheter we should add this test.
- // for code, mib := range ianaToMIB {
- // t.Run(fmt.Sprint("IANA:", mib), func(t *testing.T) {
- // if !mibs[mib] {
- // t.Skipf("IANA encoding %s (MIB %v) not supported",
- // ianaNames[code], mib)
- // }
- // })
- // }
-}
-
-func TestEncoding(t *testing.T) {
- testCases := []struct {
- index *Index
- name string
- canonical string
- err error
- }{
- {MIME, "utf-8", "UTF-8", nil},
- {MIME, " utf-8 ", "UTF-8", nil},
- {MIME, " l5 ", "ISO-8859-9", nil},
- {MIME, "latin5 ", "ISO-8859-9", nil},
- {MIME, "LATIN5 ", "ISO-8859-9", nil},
- {MIME, "latin 5", "", errInvalidName},
- {MIME, "latin-5", "", errInvalidName},
-
- {IANA, "utf-8", "UTF-8", nil},
- {IANA, " utf-8 ", "UTF-8", nil},
- {IANA, " l5 ", "ISO_8859-9:1989", nil},
- {IANA, "latin5 ", "ISO_8859-9:1989", nil},
- {IANA, "LATIN5 ", "ISO_8859-9:1989", nil},
- {IANA, "latin 5", "", errInvalidName},
- {IANA, "latin-5", "", errInvalidName},
-
- {MIB, "utf-8", "UTF8", nil},
- {MIB, " utf-8 ", "UTF8", nil},
- {MIB, " l5 ", "ISOLatin5", nil},
- {MIB, "latin5 ", "ISOLatin5", nil},
- {MIB, "LATIN5 ", "ISOLatin5", nil},
- {MIB, "latin 5", "", errInvalidName},
- {MIB, "latin-5", "", errInvalidName},
- }
- for i, tc := range testCases {
- enc, err := tc.index.Encoding(tc.name)
- if err != tc.err {
- t.Errorf("%d: error was %v; want %v", i, err, tc.err)
- }
- if err != nil {
- continue
- }
- if got, err := tc.index.Name(enc); got != tc.canonical {
- t.Errorf("%d: Name(Encoding(%q)) = %q; want %q (%v)", i, tc.name, got, tc.canonical, err)
- }
- }
-}
-
-func TestTables(t *testing.T) {
- for i, x := range []*Index{MIME, IANA} {
- for name, index := range x.alias {
- got, err := x.Encoding(name)
- if err != nil {
- t.Errorf("%d%s:err: unexpected error %v", i, name, err)
- }
- if want := x.enc[index]; got != want {
- t.Errorf("%d%s:encoding: got %v; want %v", i, name, got, want)
- }
- if got != nil {
- mib, _ := got.(identifier.Interface).ID()
- if i := findMIB(x.toMIB, mib); i != index {
- t.Errorf("%d%s:mib: got %d; want %d", i, name, i, index)
- }
- }
- }
- }
-}
-
-type unsupported struct {
- encoding.Encoding
-}
-
-func (unsupported) ID() (identifier.MIB, string) { return 9999, "" }
-
-func TestName(t *testing.T) {
- testCases := []struct {
- desc string
- enc encoding.Encoding
- f func(e encoding.Encoding) (string, error)
- name string
- err error
- }{{
- "defined encoding",
- charmap.ISO8859_2,
- MIME.Name,
- "ISO-8859-2",
- nil,
- }, {
- "defined Unicode encoding",
- unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM),
- IANA.Name,
- "UTF-16BE",
- nil,
- }, {
- "another defined Unicode encoding",
- unicode.UTF16(unicode.BigEndian, unicode.UseBOM),
- MIME.Name,
- "UTF-16",
- nil,
- }, {
- "unknown Unicode encoding",
- unicode.UTF16(unicode.BigEndian, unicode.ExpectBOM),
- MIME.Name,
- "",
- errUnknown,
- }, {
- "undefined encoding",
- unsupported{},
- MIME.Name,
- "",
- errUnsupported,
- }, {
- "undefined other encoding in HTML standard",
- charmap.CodePage437,
- IANA.Name,
- "IBM437",
- nil,
- }, {
- "unknown encoding",
- encoding.Nop,
- IANA.Name,
- "",
- errUnknown,
- }}
- for i, tc := range testCases {
- name, err := tc.f(tc.enc)
- if name != tc.name || err != tc.err {
- t.Errorf("%d:%s: got %q, %v; want %q, %v", i, tc.desc, name, err, tc.name, tc.err)
- }
- }
-}