@@ -41,74 +41,74 @@ public static IEnumerable<object[]> Compare_Kana_TestData()
41
41
42
42
public static IEnumerable < object [ ] > Compare_TestData ( )
43
43
{
44
+ // PlatformDetection.IsHybridGlobalizationOnBrowser does not support IgnoreKanaType alone, it needs to be e.g. with IgnoreCase
45
+ CompareOptions validIgnoreKanaTypeOption = PlatformDetection . IsHybridGlobalizationOnBrowser ?
46
+ CompareOptions . IgnoreKanaType | CompareOptions . IgnoreCase :
47
+ CompareOptions . IgnoreKanaType ;
48
+ // In HybridGlobalization, IgnoreKanaType is not supported on OSX
49
+ if ( ! PlatformDetection . IsHybridGlobalizationOnOSX )
50
+ {
51
+ yield return new object [ ] { s_invariantCompare , "\u3042 " , "\u30A2 " , validIgnoreKanaTypeOption , 0 } ;
52
+ yield return new object [ ] { s_invariantCompare , "\u304D \u3083 " , "\u30AD \u30E3 " , validIgnoreKanaTypeOption , 0 } ;
53
+ yield return new object [ ] { s_invariantCompare , "\u304D \u3083 " , "\u30AD \u3083 " , validIgnoreKanaTypeOption , 0 } ;
54
+ yield return new object [ ] { s_invariantCompare , "\u304D \u3083 " , "\u30AD \u3083 " , validIgnoreKanaTypeOption , - 1 } ;
55
+ yield return new object [ ] { s_invariantCompare , "\u3044 " , "I" , validIgnoreKanaTypeOption , 1 } ;
56
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \u3076 \u3079 \u307C " , "\u30D0 \u30D3 \u30D6 \u30D9 \u30DC " , validIgnoreKanaTypeOption , 0 } ;
57
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \u3076 \u3079 \u307C " , "\u30D0 \u30D3 \u3076 \u30D9 \u30DC " , validIgnoreKanaTypeOption , 0 } ;
58
+ yield return new object [ ] { s_invariantCompare , "\u3060 " , "\u305F " , validIgnoreKanaTypeOption , 1 } ;
59
+ yield return new object [ ] { s_invariantCompare , "\u3060 " , "\u30C0 " , validIgnoreKanaTypeOption , 0 } ;
60
+ yield return new object [ ] { s_invariantCompare , "\u68EE \u9D0E \u5916 " , "\u68EE \u9DD7 \u5916 " , validIgnoreKanaTypeOption , - 1 } ;
61
+ yield return new object [ ] { s_invariantCompare , "\u2019 " , "'" , validIgnoreKanaTypeOption , 1 } ;
62
+ yield return new object [ ] { s_invariantCompare , "" , "'" , validIgnoreKanaTypeOption , - 1 } ;
63
+ yield return new object [ ] { s_invariantCompare , "\u30FC " , "\uFF70 " , CompareOptions . IgnoreKanaType | CompareOptions . IgnoreCase , 0 } ;
64
+ // PlatformDetection.IsHybridGlobalizationOnBrowser does not support IgnoreWidth
65
+ if ( ! PlatformDetection . IsHybridGlobalizationOnBrowser )
66
+ {
67
+ yield return new object [ ] { s_invariantCompare , "\u3042 " , "\uFF71 " , CompareOptions . IgnoreKanaType | CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase , 0 } ;
68
+ yield return new object [ ] { s_invariantCompare , "'\u3000 '" , "' '" , CompareOptions . IgnoreKanaType | CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase , 0 } ;
69
+ }
70
+ }
71
+
72
+ yield return new object [ ] { s_invariantCompare , "\u6FA4 " , "\u6CA2 " , CompareOptions . None , 1 } ;
73
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\uFF8E \uFF9E " , CompareOptions . None , - 1 } ;
74
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\uFF8E \uFF9E " , CompareOptions . None , - 1 } ;
75
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u3079 \uFF8E \uFF9E " , CompareOptions . None , - 1 } ;
76
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u30D6 " , CompareOptions . None , - 1 } ;
77
+ yield return new object [ ] { s_invariantCompare , "\u3071 \u3074 \u30D7 \u307A " , "\uFF8B \uFF9F \uFF8C \uFF9F " , CompareOptions . None , - 1 } ;
78
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u3070 \uFF8E \uFF9E \u30D6 " , CompareOptions . None , 1 } ;
79
+ yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C \u3079 \u307C " , "\u3079 \uFF8E \uFF9E " , CompareOptions . None , - 1 } ;
80
+ yield return new object [ ] { s_invariantCompare , "\u3070 \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u30D6 " , CompareOptions . None , - 1 } ;
81
+ yield return new object [ ] { s_invariantCompare , "ABDDE" , "D" , CompareOptions . None , - 1 } ;
82
+ yield return new object [ ] { s_invariantCompare , "\u2019 \u2019 \u2019 \u2019 " , "''''" , CompareOptions . None , 1 } ;
83
+ yield return new object [ ] { s_invariantCompare , "\u4E00 " , "\uFF11 " , CompareOptions . None , 1 } ;
84
+ yield return new object [ ] { s_invariantCompare , "\u2160 " , "\uFF11 " , CompareOptions . None , 1 } ;
85
+ yield return new object [ ] { s_invariantCompare , "9999\uFF19 10" , "1\uFF10 " , CompareOptions . None , 1 } ;
86
+ yield return new object [ ] { s_invariantCompare , "9999\uFF19 1010" , "1\uFF10 " , CompareOptions . None , 1 } ;
87
+ yield return new object [ ] { s_invariantCompare , "\u30FC " , "\uFF0D " , CompareOptions . None , 1 } ;
88
+ yield return new object [ ] { s_invariantCompare , "\u30FC " , "\u30FC " , CompareOptions . None , 0 } ;
89
+ yield return new object [ ] { s_invariantCompare , "\u30FC " , "\u2015 " , CompareOptions . None , 1 } ;
90
+ yield return new object [ ] { s_invariantCompare , "\u30FC " , "\u2010 " , CompareOptions . None , 1 } ;
91
+ yield return new object [ ] { s_invariantCompare , "\u68EE \u9DD7 \u5916 " , "\u68EE \u9DD7 \u5916 " , CompareOptions . IgnoreCase , 0 } ;
92
+ yield return new object [ ] { s_invariantCompare , "a" , "A" , CompareOptions . IgnoreCase , 0 } ;
44
93
// PlatformDetection.IsHybridGlobalizationOnBrowser does not support IgnoreWidth
45
- CompareOptions ignoredOptions = PlatformDetection . IsHybridGlobalizationOnBrowser ?
46
- CompareOptions . IgnoreKanaType | CompareOptions . IgnoreCase :
47
- PlatformDetection . IsHybridGlobalizationOnOSX ? CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase :
48
- CompareOptions . IgnoreKanaType | CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase ;
49
-
50
- yield return new object [ ] { s_invariantCompare , "\u3042 " , "\u30A2 " , ignoredOptions , 0 } ;
51
- yield return new object [ ] { s_invariantCompare , "\u3042 " , "\uFF71 " , ignoredOptions , 0 } ;
52
-
53
- yield return new object [ ] { s_invariantCompare , "\u304D \u3083 " , "\u30AD \u30E3 " , ignoredOptions , 0 } ;
54
- yield return new object [ ] { s_invariantCompare , "\u304D \u3083 " , "\u30AD \u3083 " , ignoredOptions , 0 } ;
55
- yield return new object [ ] { s_invariantCompare , "\u304D \u3083 " , "\u30AD \u3083 " , ignoredOptions , - 1 } ;
56
- yield return new object [ ] { s_invariantCompare , "\u3044 " , "I" , ignoredOptions , 1 } ;
57
-
58
- yield return new object [ ] { s_invariantCompare , "a" , "A" , ignoredOptions , 0 } ;
59
- yield return new object [ ] { s_invariantCompare , "a" , "\uFF41 " , ignoredOptions , 0 } ; // known exception for hg: should be -1
60
- yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF21 \uFF22 \uFF23 \uFF24 \uFF25 " , ignoredOptions , 0 } ; // as above
61
- yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF21 \uFF22 \uFF23 D\uFF25 " , ignoredOptions , 0 } ; // as above
62
- yield return new object [ ] { s_invariantCompare , "ABCDE" , "a\uFF22 \uFF23 D\uFF25 " , ignoredOptions , 0 } ; // as above
63
- yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF41 \uFF42 \uFF23 D\uFF25 " , ignoredOptions , 0 } ; // as above
64
-
65
- yield return new object [ ] { s_invariantCompare , "\u6FA4 " , "\u6CA2 " , ignoredOptions , 1 } ;
66
-
67
- yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \u3076 \u3079 \u307C " , "\u30D0 \u30D3 \u30D6 \u30D9 \u30DC " , ignoredOptions , 0 } ;
68
- yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \u3076 \u3079 \u307C " , "\u30D0 \u30D3 \u3076 \u30D9 \u30DC " , ignoredOptions , 0 } ;
69
- yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\uFF8E \uFF9E " , ignoredOptions , - 1 } ;
70
- yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\uFF8E \uFF9E " , ignoredOptions , - 1 } ;
71
- yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u3079 \uFF8E \uFF9E " , ignoredOptions , - 1 } ;
72
- yield return new object [ ] { s_invariantCompare , "\u3070 \u3073 \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u30D6 " , ignoredOptions , - 1 } ;
73
- yield return new object [ ] { s_invariantCompare , "\u3071 \u3074 \u30D7 \u307A " , "\uFF8B \uFF9F \uFF8C \uFF9F " , ignoredOptions , - 1 } ;
74
- yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u3070 \uFF8E \uFF9E \u30D6 " , ignoredOptions , 1 } ; // known exception for hg: should be -1
75
- yield return new object [ ] { s_invariantCompare , "\u3070 \u30DC \uFF8C \uFF9E \uFF8D \uFF9E \u307C \u3079 \u307C " , "\u3079 \uFF8E \uFF9E " , ignoredOptions , - 1 } ;
76
- yield return new object [ ] { s_invariantCompare , "\u3070 \uFF8C \uFF9E \uFF8D \uFF9E \u307C " , "\u30D6 " , ignoredOptions , - 1 } ;
77
-
78
- yield return new object [ ] { s_invariantCompare , "ABDDE" , "D" , ignoredOptions , - 1 } ;
79
- yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF43 D" , ignoredOptions , - 1 } ;
80
- yield return new object [ ] { s_invariantCompare , "ABCDE" , "c" , ignoredOptions , - 1 } ;
81
- yield return new object [ ] { s_invariantCompare , "\u3060 " , "\u305F " , ignoredOptions , 1 } ;
82
- yield return new object [ ] { s_invariantCompare , "\u3060 " , "\u30C0 " , ignoredOptions , 0 } ;
83
-
84
- yield return new object [ ] { s_invariantCompare , "\u30BF " , "\uFF80 " , ignoredOptions , 0 } ; // known exception for hg: should be -1
85
-
86
- yield return new object [ ] { s_invariantCompare , "\u68EE \u9D0E \u5916 " , "\u68EE \u9DD7 \u5916 " , ignoredOptions , - 1 } ;
87
- yield return new object [ ] { s_invariantCompare , "\u68EE \u9DD7 \u5916 " , "\u68EE \u9DD7 \u5916 " , ignoredOptions , 0 } ;
88
- yield return new object [ ] { s_invariantCompare , "\u2019 \u2019 \u2019 \u2019 " , "''''" , ignoredOptions , 1 } ;
89
- yield return new object [ ] { s_invariantCompare , "\u2019 " , "'" , ignoredOptions , 1 } ;
90
- yield return new object [ ] { s_invariantCompare , "" , "'" , ignoredOptions , - 1 } ;
91
- yield return new object [ ] { s_invariantCompare , "\u4E00 " , "\uFF11 " , ignoredOptions , 1 } ;
92
- yield return new object [ ] { s_invariantCompare , "\u2160 " , "\uFF11 " , ignoredOptions , 1 } ;
93
-
94
- yield return new object [ ] { s_invariantCompare , "0" , "\uFF10 " , ignoredOptions , 0 } ; // known exception for hg: should be -1
95
- yield return new object [ ] { s_invariantCompare , "10" , "1\uFF10 " , ignoredOptions , 0 } ; // as above
96
- yield return new object [ ] { s_invariantCompare , "9999\uFF19 10" , "1\uFF10 " , ignoredOptions , 1 } ;
97
- yield return new object [ ] { s_invariantCompare , "9999\uFF19 1010" , "1\uFF10 " , ignoredOptions , 1 } ;
98
-
99
- yield return new object [ ] { s_invariantCompare , "'\u3000 '" , "' '" , ignoredOptions , 0 } ;
100
- yield return new object [ ] { s_invariantCompare , "\uFF1B " , ";" , ignoredOptions , 0 } ; // known exception for hg: should be 1
101
- yield return new object [ ] { s_invariantCompare , "\uFF08 " , "(" , ignoredOptions , 0 } ; // known exception for hg: should be 1
102
- yield return new object [ ] { s_invariantCompare , "\u30FC " , "\uFF70 " , ignoredOptions , 0 } ;
103
- yield return new object [ ] { s_invariantCompare , "\u30FC " , "\uFF0D " , ignoredOptions , 1 } ;
104
- yield return new object [ ] { s_invariantCompare , "\u30FC " , "\u30FC " , ignoredOptions , 0 } ;
105
- yield return new object [ ] { s_invariantCompare , "\u30FC " , "\u2015 " , ignoredOptions , 1 } ;
106
- yield return new object [ ] { s_invariantCompare , "\u30FC " , "\u2010 " , ignoredOptions , 1 } ;
107
-
108
- yield return new object [ ] { s_invariantCompare , "/" , "\uFF0F " , ignoredOptions , 0 } ; // known exception for hg: should be -1
109
- yield return new object [ ] { s_invariantCompare , "'" , "\uFF07 " , ignoredOptions , 0 } ; // as above
110
- yield return new object [ ] { s_invariantCompare , "\" " , "\uFF02 " , ignoredOptions , 0 } ; // as above
111
-
94
+ if ( ! PlatformDetection . IsHybridGlobalizationOnBrowser )
95
+ {
96
+ yield return new object [ ] { s_invariantCompare , "a" , "\uFF41 " , CompareOptions . IgnoreWidth , 0 } ;
97
+ yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF21 \uFF22 \uFF23 \uFF24 \uFF25 " , CompareOptions . IgnoreWidth , 0 } ;
98
+ yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF21 \uFF22 \uFF23 D\uFF25 " , CompareOptions . IgnoreWidth , 0 } ;
99
+ yield return new object [ ] { s_invariantCompare , "ABCDE" , "a\uFF22 \uFF23 D\uFF25 " , CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase , 0 } ;
100
+ yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF41 \uFF42 \uFF23 D\uFF25 " , CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase , 0 } ;
101
+ yield return new object [ ] { s_invariantCompare , "ABCDE" , "\uFF43 D" , CompareOptions . IgnoreWidth , - 1 } ;
102
+ yield return new object [ ] { s_invariantCompare , "ABCDE" , "c" , CompareOptions . IgnoreWidth , - 1 } ;
103
+ yield return new object [ ] { s_invariantCompare , "\u30BF " , "\uFF80 " , CompareOptions . IgnoreWidth , 0 } ;
104
+ yield return new object [ ] { s_invariantCompare , "0" , "\uFF10 " , CompareOptions . IgnoreWidth , 0 } ;
105
+ yield return new object [ ] { s_invariantCompare , "10" , "1\uFF10 " , CompareOptions . IgnoreWidth , 0 } ;
106
+ yield return new object [ ] { s_invariantCompare , "\uFF1B " , ";" , CompareOptions . IgnoreWidth , 0 } ;
107
+ yield return new object [ ] { s_invariantCompare , "\uFF08 " , "(" , CompareOptions . IgnoreWidth , 0 } ;
108
+ yield return new object [ ] { s_invariantCompare , "/" , "\uFF0F " , CompareOptions . IgnoreWidth , 0 } ;
109
+ yield return new object [ ] { s_invariantCompare , "'" , "\uFF07 " , CompareOptions . IgnoreWidth , 0 } ;
110
+ yield return new object [ ] { s_invariantCompare , "\" " , "\uFF02 " , CompareOptions . IgnoreWidth , 0 } ;
111
+ }
112
112
yield return new object [ ] { s_invariantCompare , "\u3042 " , "\u30A1 " , CompareOptions . None , PlatformDetection . IsHybridGlobalizationOnOSX ? 1 : s_expectedHiraganaToKatakanaCompare } ;
113
113
yield return new object [ ] { s_invariantCompare , "\u3042 " , "\u30A2 " , CompareOptions . None , s_expectedHiraganaToKatakanaCompare } ;
114
114
yield return new object [ ] { s_invariantCompare , "\u3042 " , "\uFF71 " , CompareOptions . None , s_expectedHiraganaToKatakanaCompare } ;
@@ -293,14 +293,14 @@ public static IEnumerable<object[]> Compare_TestData()
293
293
// Misc differences between platforms
294
294
bool useNls = PlatformDetection . IsNlsGlobalization ;
295
295
296
- var supportedCmpOptions = PlatformDetection . IsHybridGlobalizationOnBrowser ?
296
+ var japaneseCmp = PlatformDetection . IsHybridGlobalizationOnBrowser ?
297
297
CompareOptions . IgnoreKanaType | CompareOptions . IgnoreCase :
298
298
PlatformDetection . IsHybridGlobalizationOnOSX ?
299
299
CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase :
300
300
CompareOptions . IgnoreKanaType | CompareOptions . IgnoreWidth | CompareOptions . IgnoreCase ;
301
301
302
- yield return new object [ ] { s_invariantCompare , "\u3042 " , "\u30A1 " , supportedCmpOptions , useNls ? 1 : 0 } ;
303
- yield return new object [ ] { s_invariantCompare , "'\u3000 '" , "''" , supportedCmpOptions , useNls ? 1 : - 1 } ;
302
+ yield return new object [ ] { s_invariantCompare , "\u3042 " , "\u30A1 " , japaneseCmp , useNls ? 1 : 0 } ;
303
+ yield return new object [ ] { s_invariantCompare , "'\u3000 '" , "''" , japaneseCmp , useNls ? 1 : - 1 } ;
304
304
yield return new object [ ] { s_invariantCompare , "\u30BF " , "\uFF80 " , CompareOptions . None , useNls ? 1 : - 1 } ;
305
305
yield return new object [ ] { s_invariantCompare , "'\u3000 '" , "''" , CompareOptions . None , useNls ? 1 : - 1 } ;
306
306
yield return new object [ ] { s_invariantCompare , "\u30FC " , "\uFF70 " , CompareOptions . None , useNls ? 0 : - 1 } ;
0 commit comments