summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0_test.go')
-rw-r--r--vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0_test.go668
1 files changed, 0 insertions, 668 deletions
diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0_test.go b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0_test.go
deleted file mode 100644
index 008874e..0000000
--- a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0_test.go
+++ /dev/null
@@ -1,668 +0,0 @@
-// Copyright 2016 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.
-
-// +build !go1.10
-
-package bidirule
-
-import (
- "golang.org/x/text/transform"
- "golang.org/x/text/unicode/bidi"
-)
-
-var testCases = [][]ruleTest{
- // Go-specific rules.
- // Invalid UTF-8 is invalid.
- 0: []ruleTest{{
- in: "",
- dir: bidi.LeftToRight,
- }, {
- in: "\x80",
- dir: bidi.LeftToRight,
- err: ErrInvalid,
- n: 0,
- }, {
- in: "\xcc",
- dir: bidi.LeftToRight,
- err: ErrInvalid,
- n: 0,
- }, {
- in: "abc\x80",
- dir: bidi.LeftToRight,
- err: ErrInvalid,
- n: 3,
- }, {
- in: "abc\xcc",
- dir: bidi.LeftToRight,
- err: ErrInvalid,
- n: 3,
- }, {
- in: "abc\xccdef",
- dir: bidi.LeftToRight,
- err: ErrInvalid,
- n: 3,
- }, {
- in: "\xccdef",
- dir: bidi.LeftToRight,
- err: ErrInvalid,
- n: 0,
- }, {
- in: strR + "\x80",
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: len(strR),
- }, {
- in: strR + "\xcc",
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: len(strR),
- }, {
- in: strAL + "\xcc" + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: len(strAL),
- }, {
- in: "\xcc" + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 0,
- }},
-
- // Rule 2.1: The first character must be a character with Bidi property L,
- // R, or AL. If it has the R or AL property, it is an RTL label; if it has
- // the L property, it is an LTR label.
- 1: []ruleTest{{
- in: strL,
- dir: bidi.LeftToRight,
- }, {
- in: strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strAN,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- }, {
- in: strEN,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strES,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strET,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strCS,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strNSM,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strBN,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strB,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strS,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strWS,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strON,
- dir: bidi.LeftToRight,
- err: nil, // not an RTL string
- }, {
- in: strEN + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 3,
- }, {
- in: strES + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 2,
- }, {
- in: strET + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 1,
- }, {
- in: strCS + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 1,
- }, {
- in: strNSM + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 2,
- }, {
- in: strBN + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 3,
- }, {
- in: strB + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 3,
- }, {
- in: strS + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 1,
- }, {
- in: strWS + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 1,
- }, {
- in: strON + strR,
- dir: bidi.RightToLeft,
- err: ErrInvalid,
- n: 1,
- }},
-
- // Rule 2.2: In an RTL label, only characters with the Bidi properties R,
- // AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed.
- 2: []ruleTest{{
- in: strR + strR + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strAL + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strAN + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strEN + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strES + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strCS + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strET + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strON + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strBN + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strNSM + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strL + strR,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strR + strB + strR,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strR + strS + strAL,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strR + strWS + strAL,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strAL + strR + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strAL + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strAN + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strEN + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strES + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strCS + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strET + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strON + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strBN + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strNSM + strAL,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strL + strR,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }, {
- in: strAL + strB + strR,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }, {
- in: strAL + strS + strAL,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }, {
- in: strAL + strWS + strAL,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }},
-
- // Rule 2.3: In an RTL label, the end of the label must be a character with
- // Bidi property R, AL, EN, or AN, followed by zero or more characters with
- // Bidi property NSM.
- 3: []ruleTest{{
- in: strR + strNSM,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strAL + strNSM,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strEN + strNSM + strNSM,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strAN,
- dir: bidi.RightToLeft,
- }, {
- in: strR + strES + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR + strES + strNSM),
- err: ErrInvalid,
- }, {
- in: strR + strCS + strNSM + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR + strCS + strNSM + strNSM),
- err: ErrInvalid,
- }, {
- in: strR + strET,
- dir: bidi.RightToLeft,
- n: len(strR + strET),
- err: ErrInvalid,
- }, {
- in: strR + strON + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR + strON + strNSM),
- err: ErrInvalid,
- }, {
- in: strR + strBN + strNSM + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR + strBN + strNSM + strNSM),
- err: ErrInvalid,
- }, {
- in: strR + strL + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strR + strB + strNSM + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strR + strS,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strR + strWS,
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
- }, {
- in: strAL + strNSM,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strR,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strAL + strNSM,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strEN + strNSM + strNSM,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strAN,
- dir: bidi.RightToLeft,
- }, {
- in: strAL + strES + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL + strES + strNSM),
- err: ErrInvalid,
- }, {
- in: strAL + strCS + strNSM + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL + strCS + strNSM + strNSM),
- err: ErrInvalid,
- }, {
- in: strAL + strET,
- dir: bidi.RightToLeft,
- n: len(strAL + strET),
- err: ErrInvalid,
- }, {
- in: strAL + strON + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL + strON + strNSM),
- err: ErrInvalid,
- }, {
- in: strAL + strBN + strNSM + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL + strBN + strNSM + strNSM),
- err: ErrInvalid,
- }, {
- in: strAL + strL + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }, {
- in: strAL + strB + strNSM + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }, {
- in: strAL + strS,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }, {
- in: strAL + strWS,
- dir: bidi.RightToLeft,
- n: len(strAL),
- err: ErrInvalid,
- }},
-
- // Rule 2.4: In an RTL label, if an EN is present, no AN may be present,
- // and vice versa.
- 4: []ruleTest{{
- in: strR + strEN + strAN,
- dir: bidi.RightToLeft,
- n: len(strR + strEN),
- err: ErrInvalid,
- }, {
- in: strR + strAN + strEN + strNSM,
- dir: bidi.RightToLeft,
- n: len(strR + strAN),
- err: ErrInvalid,
- }, {
- in: strAL + strEN + strAN,
- dir: bidi.RightToLeft,
- n: len(strAL + strEN),
- err: ErrInvalid,
- }, {
- in: strAL + strAN + strEN + strNSM,
- dir: bidi.RightToLeft,
- n: len(strAL + strAN),
- err: ErrInvalid,
- }},
-
- // Rule 2.5: In an LTR label, only characters with the Bidi properties L,
- // EN, ES, CS, ET, ON, BN, or NSM are allowed.
- 5: []ruleTest{{
- in: strL + strL + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strEN + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strES + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strCS + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strET + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strON + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strBN + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strNSM + strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strR + strL,
- dir: bidi.RightToLeft,
- n: len(strL),
- err: ErrInvalid,
- }, {
- in: strL + strAL + strL,
- dir: bidi.RightToLeft,
- n: len(strL),
- err: ErrInvalid,
- }, {
- in: strL + strAN + strL,
- dir: bidi.RightToLeft,
- n: len(strL),
- err: ErrInvalid,
- }, {
- in: strL + strB + strL,
- dir: bidi.LeftToRight,
- n: len(strL + strAN + strL),
- err: nil,
- }, {
- in: strL + strB + strL + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strB + strL),
- err: ErrInvalid,
- }, {
- in: strL + strS + strL,
- dir: bidi.LeftToRight,
- n: len(strL + strS + strL),
- err: nil,
- }, {
- in: strL + strS + strL + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strS + strL),
- err: ErrInvalid,
- }, {
- in: strL + strWS + strL,
- dir: bidi.LeftToRight,
- n: len(strL + strWS + strL),
- err: nil,
- }, {
- in: strL + strWS + strL + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strWS + strL),
- err: ErrInvalid,
- }},
-
- // Rule 2.6: In an LTR label, the end of the label must be a character with
- // Bidi property L or EN, followed by zero or more characters with Bidi
- // property NSM.
- 6: []ruleTest{{
- in: strL,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strNSM,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strNSM + strNSM,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strEN,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strEN + strNSM,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strEN + strNSM + strNSM,
- dir: bidi.LeftToRight,
- }, {
- in: strL + strES,
- dir: bidi.LeftToRight,
- n: len(strL + strES),
- err: nil,
- }, {
- in: strL + strES + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strES),
- err: ErrInvalid,
- }, {
- in: strL + strCS,
- dir: bidi.LeftToRight,
- n: len(strL + strCS),
- err: nil,
- }, {
- in: strL + strCS + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strCS),
- err: ErrInvalid,
- }, {
- in: strL + strET,
- dir: bidi.LeftToRight,
- n: len(strL + strET),
- err: nil,
- }, {
- in: strL + strET + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strET),
- err: ErrInvalid,
- }, {
- in: strL + strON,
- dir: bidi.LeftToRight,
- n: len(strL + strON),
- err: nil,
- }, {
- in: strL + strON + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strON),
- err: ErrInvalid,
- }, {
- in: strL + strBN,
- dir: bidi.LeftToRight,
- n: len(strL + strBN),
- err: nil,
- }, {
- in: strL + strBN + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strBN),
- err: ErrInvalid,
- }, {
- in: strL + strR,
- dir: bidi.RightToLeft,
- n: len(strL),
- err: ErrInvalid,
- }, {
- in: strL + strAL,
- dir: bidi.RightToLeft,
- n: len(strL),
- err: ErrInvalid,
- }, {
- in: strL + strAN,
- dir: bidi.RightToLeft,
- n: len(strL),
- err: ErrInvalid,
- }, {
- in: strL + strB,
- dir: bidi.LeftToRight,
- n: len(strL + strB),
- err: nil,
- }, {
- in: strL + strB + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strB),
- err: ErrInvalid,
- }, {
- in: strL + strB,
- dir: bidi.LeftToRight,
- n: len(strL + strB),
- err: nil,
- }, {
- in: strL + strB + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strB),
- err: ErrInvalid,
- }, {
- in: strL + strB,
- dir: bidi.LeftToRight,
- n: len(strL + strB),
- err: nil,
- }, {
- in: strL + strB + strR,
- dir: bidi.RightToLeft,
- n: len(strL + strB),
- err: ErrInvalid,
- }},
-
- // Incremental processing.
- 9: []ruleTest{{
- in: "e\u0301", // é
- dir: bidi.LeftToRight,
-
- pSrc: 2,
- nSrc: 1,
- err0: transform.ErrShortSrc,
- }, {
- in: "e\u1000f", // é
- dir: bidi.LeftToRight,
-
- pSrc: 3,
- nSrc: 1,
- err0: transform.ErrShortSrc,
- }, {
- // Remain invalid once invalid.
- in: strR + "ab",
- dir: bidi.RightToLeft,
- n: len(strR),
- err: ErrInvalid,
-
- pSrc: len(strR) + 1,
- nSrc: len(strR),
- err0: ErrInvalid,
- }, {
- // Short destination
- in: "abcdefghij",
- dir: bidi.LeftToRight,
-
- pSrc: 10,
- szDst: 5,
- nSrc: 5,
- err0: transform.ErrShortDst,
- }, {
- // Short destination splitting input rune
- in: "e\u0301",
- dir: bidi.LeftToRight,
-
- pSrc: 3,
- szDst: 2,
- nSrc: 1,
- err0: transform.ErrShortDst,
- }},
-}