| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // Dart test program testing string interpolation. | 4 // Dart test program testing string interpolation. |
| 5 | 5 |
| 6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
| 7 | 7 |
| 8 | |
| 9 class WhatchamaCallIt { | 8 class WhatchamaCallIt { |
| 10 WhatchamaCallIt() { } | 9 WhatchamaCallIt() {} |
| 11 | 10 |
| 12 String foo() { | 11 String foo() { |
| 13 // Test $this and Field name is defined in subclass. | 12 // Test $this and Field name is defined in subclass. |
| 14 return "$this and $name"; | 13 return "$this and $name"; |
| 15 } | 14 } |
| 16 } | 15 } |
| 17 | 16 |
| 18 class ThingamaBob extends WhatchamaCallIt { | 17 class ThingamaBob extends WhatchamaCallIt { |
| 19 ThingamaBob(String s) : super(), name = s { } | 18 ThingamaBob(String s) |
| 19 : super(), |
| 20 name = s {} |
| 20 String name; | 21 String name; |
| 21 toString() => "Hansel"; | 22 toString() => "Hansel"; |
| 22 } | 23 } |
| 23 | 24 |
| 24 const String A = "svin"; | 25 const String A = "svin"; |
| 25 const String B = "hest"; | 26 const String B = "hest"; |
| 26 const int N = 1 + 1; | 27 const int N = 1 + 1; |
| 27 String Printers; | 28 String Printers; |
| 28 String AAR_Printers; | 29 String AAR_Printers; |
| 29 | 30 |
| 30 main() { | 31 main() { |
| 31 Printers = "Printers: $A and $B"; | 32 Printers = "Printers: $A and $B"; |
| 32 AAR_Printers = "AAR has $N $Printers."; | 33 AAR_Printers = "AAR has $N $Printers."; |
| 33 | 34 |
| 34 var x = 1; | 35 var x = 1; |
| 35 var s = "eins und \$x macht zwei."; | 36 var s = "eins und \$x macht zwei."; |
| 36 print(s); | 37 print(s); |
| 37 Expect.equals(r"eins und $x macht zwei.", s); | 38 Expect.equals(r"eins und $x macht zwei.", s); |
| 38 | 39 |
| 39 s = "eins und $x macht zwei."; | 40 s = "eins und $x macht zwei."; |
| 40 print(s); | 41 print(s); |
| 41 Expect.equals(r"eins und 1 macht zwei.", s); | 42 Expect.equals(r"eins und 1 macht zwei.", s); |
| 42 | 43 |
| 43 print(AAR_Printers); | 44 print(AAR_Printers); |
| 44 Expect.equals(r"AAR has 2 Printers: svin and hest.", AAR_Printers); | 45 Expect.equals(r"AAR has 2 Printers: svin and hest.", AAR_Printers); |
| 45 | 46 |
| 46 var s$eins = "eins"; | 47 var s$eins = "eins"; |
| 47 var $1 = 1; | 48 var $1 = 1; |
| 48 var zw = "zw"; | 49 var zw = "zw"; |
| 49 var ei = "ei"; | 50 var ei = "ei"; |
| 50 var zw$ei = "\"Martini, dry? Nai zwai.\""; | 51 var zw$ei = "\"Martini, dry? Nai zwai.\""; |
| 51 s = "${s$eins} und ${$1} macht $zw$ei."; | 52 s = "${s$eins} und ${$1} macht $zw$ei."; |
| 52 print(s); | 53 print(s); |
| 53 Expect.equals(r"eins und 1 macht zwei.", s); | 54 Expect.equals(r"eins und 1 macht zwei.", s); |
| 54 | 55 |
| 55 var t = new ThingamaBob("Gretel"); | 56 var t = new ThingamaBob("Gretel"); |
| 56 print(t.foo()); | 57 print(t.foo()); |
| 57 Expect.equals(t.foo(), "Hansel and Gretel"); | 58 Expect.equals(t.foo(), "Hansel and Gretel"); |
| 58 | 59 |
| 59 testStringVariants(); | 60 testStringVariants(); |
| 60 } | 61 } |
| 61 | 62 |
| 62 | |
| 63 class Stringable { | 63 class Stringable { |
| 64 final String value; | 64 final String value; |
| 65 Stringable(this.value); | 65 Stringable(this.value); |
| 66 String toString() => value; | 66 String toString() => value; |
| 67 operator *(int count) => new Stringable(value * count); | 67 operator *(int count) => new Stringable(value * count); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void testStringVariants() { | 70 void testStringVariants() { |
| 71 String latin = "ab\x00\xff"; | 71 String latin = "ab\x00\xff"; |
| 72 String nonLatin = "\u2000\u{10000}\ufeff"; | 72 String nonLatin = "\u2000\u{10000}\ufeff"; |
| 73 Object oLatin = new Stringable(latin); | 73 Object oLatin = new Stringable(latin); |
| 74 Object oNonLatin = new Stringable(nonLatin); | 74 Object oNonLatin = new Stringable(nonLatin); |
| 75 | 75 |
| 76 // ASCII. | 76 // ASCII. |
| 77 Expect.equals(latin * 3, "$latin$latin$latin"); | 77 Expect.equals(latin * 3, "$latin$latin$latin"); |
| 78 Expect.equals(latin * 64, "$latin$latin$latin$latin$latin$latin$latin$latin" | 78 Expect.equals( |
| 79 "$latin$latin$latin$latin$latin$latin$latin$latin" | 79 latin * 64, |
| 80 "$latin$latin$latin$latin$latin$latin$latin$latin" | 80 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 81 "$latin$latin$latin$latin$latin$latin$latin$latin" | 81 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 82 "$latin$latin$latin$latin$latin$latin$latin$latin" | 82 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 83 "$latin$latin$latin$latin$latin$latin$latin$latin" | 83 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 84 "$latin$latin$latin$latin$latin$latin$latin$latin" | 84 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 85 "$latin$latin$latin$latin$latin$latin$latin$latin"); | 85 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 86 Expect.equals(latin * 64, "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 86 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 87 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 87 "$latin$latin$latin$latin$latin$latin$latin$latin"); |
| 88 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 88 Expect.equals( |
| 89 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}"); | 89 latin * 64, |
| 90 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 91 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 92 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 93 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}"); |
| 90 // Non-ASCII. | 94 // Non-ASCII. |
| 91 Expect.equals(nonLatin * 3, "$nonLatin$nonLatin$nonLatin"); | 95 Expect.equals(nonLatin * 3, "$nonLatin$nonLatin$nonLatin"); |
| 92 Expect.equals(nonLatin * 64, "$nonLatin$nonLatin$nonLatin$nonLatin" | 96 Expect.equals( |
| 93 "$nonLatin$nonLatin$nonLatin$nonLatin" | 97 nonLatin * 64, |
| 94 "$nonLatin$nonLatin$nonLatin$nonLatin" | 98 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 95 "$nonLatin$nonLatin$nonLatin$nonLatin" | 99 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 96 "$nonLatin$nonLatin$nonLatin$nonLatin" | 100 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 97 "$nonLatin$nonLatin$nonLatin$nonLatin" | 101 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 98 "$nonLatin$nonLatin$nonLatin$nonLatin" | 102 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 99 "$nonLatin$nonLatin$nonLatin$nonLatin" | 103 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 100 "$nonLatin$nonLatin$nonLatin$nonLatin" | 104 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 101 "$nonLatin$nonLatin$nonLatin$nonLatin" | 105 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 102 "$nonLatin$nonLatin$nonLatin$nonLatin" | 106 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 103 "$nonLatin$nonLatin$nonLatin$nonLatin" | 107 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 104 "$nonLatin$nonLatin$nonLatin$nonLatin" | 108 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 105 "$nonLatin$nonLatin$nonLatin$nonLatin" | 109 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 106 "$nonLatin$nonLatin$nonLatin$nonLatin" | 110 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 107 "$nonLatin$nonLatin$nonLatin$nonLatin"); | 111 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 108 Expect.equals(nonLatin * 64, "${nonLatin * 4}${nonLatin * 4}" | 112 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 109 "${nonLatin * 4}${nonLatin * 4}" | 113 "$nonLatin$nonLatin$nonLatin$nonLatin"); |
| 110 "${nonLatin * 4}${nonLatin * 4}" | 114 Expect.equals( |
| 111 "${nonLatin * 4}${nonLatin * 4}" | 115 nonLatin * 64, |
| 112 "${nonLatin * 4}${nonLatin * 4}" | 116 "${nonLatin * 4}${nonLatin * 4}" |
| 113 "${nonLatin * 4}${nonLatin * 4}" | 117 "${nonLatin * 4}${nonLatin * 4}" |
| 114 "${nonLatin * 4}${nonLatin * 4}" | 118 "${nonLatin * 4}${nonLatin * 4}" |
| 115 "${nonLatin * 4}${nonLatin * 4}"); | 119 "${nonLatin * 4}${nonLatin * 4}" |
| 120 "${nonLatin * 4}${nonLatin * 4}" |
| 121 "${nonLatin * 4}${nonLatin * 4}" |
| 122 "${nonLatin * 4}${nonLatin * 4}" |
| 123 "${nonLatin * 4}${nonLatin * 4}"); |
| 116 // Mixed. | 124 // Mixed. |
| 117 Expect.equals(latin * 3 + nonLatin, "$latin$latin$latin$nonLatin"); | 125 Expect.equals(latin * 3 + nonLatin, "$latin$latin$latin$nonLatin"); |
| 118 Expect.equals(nonLatin + latin * 3, "$nonLatin$latin$latin$latin"); | 126 Expect.equals(nonLatin + latin * 3, "$nonLatin$latin$latin$latin"); |
| 119 Expect.equals(latin * 60 + nonLatin * 4, | 127 Expect.equals( |
| 120 "$latin$latin$latin$latin$latin$latin$latin$latin" | 128 latin * 60 + nonLatin * 4, |
| 121 "$latin$latin$latin$latin$latin$latin$latin$latin" | 129 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 122 "$latin$latin$latin$latin$latin$latin$latin$latin" | 130 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 123 "$latin$latin$latin$latin$latin$latin$latin$latin" | 131 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 124 "$latin$latin$latin$latin$latin$latin$latin$latin" | 132 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 125 "$latin$latin$latin$latin$latin$latin$latin$latin" | 133 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 126 "$latin$latin$latin$latin$latin$latin$latin$latin" | 134 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 127 "$latin$latin$latin$latin" | 135 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 128 "$nonLatin$nonLatin$nonLatin$nonLatin"); | 136 "$latin$latin$latin$latin" |
| 129 Expect.equals(nonLatin * 4 + latin * 60, | 137 "$nonLatin$nonLatin$nonLatin$nonLatin"); |
| 130 "$nonLatin$nonLatin$nonLatin$nonLatin" | 138 Expect.equals( |
| 131 "$latin$latin$latin$latin$latin$latin$latin$latin" | 139 nonLatin * 4 + latin * 60, |
| 132 "$latin$latin$latin$latin$latin$latin$latin$latin" | 140 "$nonLatin$nonLatin$nonLatin$nonLatin" |
| 133 "$latin$latin$latin$latin$latin$latin$latin$latin" | 141 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 134 "$latin$latin$latin$latin$latin$latin$latin$latin" | 142 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 135 "$latin$latin$latin$latin$latin$latin$latin$latin" | 143 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 136 "$latin$latin$latin$latin$latin$latin$latin$latin" | 144 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 137 "$latin$latin$latin$latin$latin$latin$latin$latin" | 145 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 138 "$latin$latin$latin$latin"); | 146 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 139 Expect.equals(latin * 60 + nonLatin * 4, | 147 "$latin$latin$latin$latin$latin$latin$latin$latin" |
| 140 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 148 "$latin$latin$latin$latin"); |
| 141 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 149 Expect.equals( |
| 142 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 150 latin * 60 + nonLatin * 4, |
| 143 "${latin * 4}${latin * 4}${latin * 4}${nonLatin * 4}"); | 151 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 144 Expect.equals(nonLatin * 4 + latin * 60, | 152 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 145 "${nonLatin * 4}${latin * 4}${latin * 4}${latin * 4}" | 153 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 146 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 154 "${latin * 4}${latin * 4}${latin * 4}${nonLatin * 4}"); |
| 147 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" | 155 Expect.equals( |
| 148 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}"); | 156 nonLatin * 4 + latin * 60, |
| 157 "${nonLatin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 158 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 159 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}" |
| 160 "${latin * 4}${latin * 4}${latin * 4}${latin * 4}"); |
| 149 // With objects. | 161 // With objects. |
| 150 Expect.equals(latin * 3, "$latin$oLatin$latin"); | 162 Expect.equals(latin * 3, "$latin$oLatin$latin"); |
| 151 Expect.equals(latin * 64, "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 163 Expect.equals( |
| 152 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 164 latin * 64, |
| 153 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 165 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 154 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 166 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 155 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 167 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 156 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 168 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 157 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 169 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 158 "$latin$latin$latin$latin$latin$latin$latin$oLatin" | 170 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 159 ); | 171 "$latin$latin$latin$latin$latin$latin$latin$oLatin" |
| 160 Expect.equals(latin * 64, "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" | 172 "$latin$latin$latin$latin$latin$latin$latin$oLatin"); |
| 161 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" | 173 Expect.equals( |
| 162 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" | 174 latin * 64, |
| 163 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" | 175 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" |
| 164 ); | 176 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" |
| 177 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}" |
| 178 "${latin * 4}${latin * 4}${latin * 4}${oLatin * 4}"); |
| 165 // Non-ASCII. | 179 // Non-ASCII. |
| 166 Expect.equals(nonLatin * 3, "$nonLatin$oNonLatin$nonLatin"); | 180 Expect.equals(nonLatin * 3, "$nonLatin$oNonLatin$nonLatin"); |
| 167 Expect.equals(nonLatin * 64, "$nonLatin$nonLatin$nonLatin$oNonLatin" | 181 Expect.equals( |
| 168 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 182 nonLatin * 64, |
| 169 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 183 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 170 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 184 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 171 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 185 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 172 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 186 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 173 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 187 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 174 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 188 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 175 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 189 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 176 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 190 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 177 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 191 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 178 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 192 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 179 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 193 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 180 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 194 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 181 "$nonLatin$nonLatin$nonLatin$oNonLatin" | 195 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 182 "$nonLatin$nonLatin$nonLatin$oNonLatin"); | 196 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 183 Expect.equals(nonLatin * 64, "${nonLatin * 4}${oNonLatin * 4}" | 197 "$nonLatin$nonLatin$nonLatin$oNonLatin" |
| 184 "${nonLatin * 4}${oNonLatin * 4}" | 198 "$nonLatin$nonLatin$nonLatin$oNonLatin"); |
| 185 "${nonLatin * 4}${oNonLatin * 4}" | 199 Expect.equals( |
| 186 "${nonLatin * 4}${oNonLatin * 4}" | 200 nonLatin * 64, |
| 187 "${nonLatin * 4}${oNonLatin * 4}" | 201 "${nonLatin * 4}${oNonLatin * 4}" |
| 188 "${nonLatin * 4}${oNonLatin * 4}" | 202 "${nonLatin * 4}${oNonLatin * 4}" |
| 189 "${nonLatin * 4}${oNonLatin * 4}" | 203 "${nonLatin * 4}${oNonLatin * 4}" |
| 190 "${nonLatin * 4}${oNonLatin * 4}"); | 204 "${nonLatin * 4}${oNonLatin * 4}" |
| 205 "${nonLatin * 4}${oNonLatin * 4}" |
| 206 "${nonLatin * 4}${oNonLatin * 4}" |
| 207 "${nonLatin * 4}${oNonLatin * 4}" |
| 208 "${nonLatin * 4}${oNonLatin * 4}"); |
| 191 // Mixed. | 209 // Mixed. |
| 192 Expect.equals(latin * 2 + nonLatin * 2, "$latin$oLatin$nonLatin$oNonLatin"); | 210 Expect.equals(latin * 2 + nonLatin * 2, "$latin$oLatin$nonLatin$oNonLatin"); |
| 193 Expect.equals(nonLatin * 2 + latin * 2, "$nonLatin$oNonLatin$latin$oLatin"); | 211 Expect.equals(nonLatin * 2 + latin * 2, "$nonLatin$oNonLatin$latin$oLatin"); |
| 194 Expect.equals((latin * 2 + nonLatin * 2) * 8, | 212 Expect.equals( |
| 195 "$latin$oLatin$nonLatin$oNonLatin" | 213 (latin * 2 + nonLatin * 2) * 8, |
| 196 "$latin$oLatin$nonLatin$oNonLatin" | 214 "$latin$oLatin$nonLatin$oNonLatin" |
| 197 "$latin$oLatin$nonLatin$oNonLatin" | 215 "$latin$oLatin$nonLatin$oNonLatin" |
| 198 "$latin$oLatin$nonLatin$oNonLatin" | 216 "$latin$oLatin$nonLatin$oNonLatin" |
| 199 "$latin$oLatin$nonLatin$oNonLatin" | 217 "$latin$oLatin$nonLatin$oNonLatin" |
| 200 "$latin$oLatin$nonLatin$oNonLatin" | 218 "$latin$oLatin$nonLatin$oNonLatin" |
| 201 "$latin$oLatin$nonLatin$oNonLatin" | 219 "$latin$oLatin$nonLatin$oNonLatin" |
| 202 "$latin$oLatin$nonLatin$oNonLatin"); | 220 "$latin$oLatin$nonLatin$oNonLatin" |
| 203 Expect.equals((nonLatin * 2 + latin * 2) * 8, | 221 "$latin$oLatin$nonLatin$oNonLatin"); |
| 204 "$nonLatin$oNonLatin$latin$oLatin" | 222 Expect.equals( |
| 205 "$nonLatin$oNonLatin$latin$oLatin" | 223 (nonLatin * 2 + latin * 2) * 8, |
| 206 "$nonLatin$oNonLatin$latin$oLatin" | 224 "$nonLatin$oNonLatin$latin$oLatin" |
| 207 "$nonLatin$oNonLatin$latin$oLatin" | 225 "$nonLatin$oNonLatin$latin$oLatin" |
| 208 "$nonLatin$oNonLatin$latin$oLatin" | 226 "$nonLatin$oNonLatin$latin$oLatin" |
| 209 "$nonLatin$oNonLatin$latin$oLatin" | 227 "$nonLatin$oNonLatin$latin$oLatin" |
| 210 "$nonLatin$oNonLatin$latin$oLatin" | 228 "$nonLatin$oNonLatin$latin$oLatin" |
| 211 "$nonLatin$oNonLatin$latin$oLatin"); | 229 "$nonLatin$oNonLatin$latin$oLatin" |
| 230 "$nonLatin$oNonLatin$latin$oLatin" |
| 231 "$nonLatin$oNonLatin$latin$oLatin"); |
| 212 | 232 |
| 213 // All combinations | 233 // All combinations |
| 214 var o1 = new Stringable("x"); | 234 var o1 = new Stringable("x"); |
| 215 var o2 = new Stringable("\ufeff"); | 235 var o2 = new Stringable("\ufeff"); |
| 216 | 236 |
| 217 Expect.equals("a\u2000x\ufeff", "${"a"}${"\u2000"}${o1}${o2}"); | 237 Expect.equals("a\u2000x\ufeff", "${"a"}${"\u2000"}${o1}${o2}"); |
| 218 Expect.equals("a\u2000\ufeffx", "${"a"}${"\u2000"}${o2}${o1}"); | 238 Expect.equals("a\u2000\ufeffx", "${"a"}${"\u2000"}${o2}${o1}"); |
| 219 Expect.equals("ax\u2000\ufeff", "${"a"}${o1}${"\u2000"}${o2}"); | 239 Expect.equals("ax\u2000\ufeff", "${"a"}${o1}${"\u2000"}${o2}"); |
| 220 Expect.equals("ax\ufeff\u2000", "${"a"}${o1}${o2}${"\u2000"}"); | 240 Expect.equals("ax\ufeff\u2000", "${"a"}${o1}${o2}${"\u2000"}"); |
| 221 Expect.equals("a\ufeffx\u2000", "${"a"}${o2}${o1}${"\u2000"}"); | 241 Expect.equals("a\ufeffx\u2000", "${"a"}${o2}${o1}${"\u2000"}"); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 235 Expect.equals("\ufeffxa\u2000", "${o2}${o1}${"a"}${"\u2000"}"); | 255 Expect.equals("\ufeffxa\u2000", "${o2}${o1}${"a"}${"\u2000"}"); |
| 236 Expect.equals("\ufeff\u2000ax", "${o2}${"\u2000"}${"a"}${o1}"); | 256 Expect.equals("\ufeff\u2000ax", "${o2}${"\u2000"}${"a"}${o1}"); |
| 237 | 257 |
| 238 Expect.equals("\u2000x\ufeffa", "${"\u2000"}${o1}${o2}${"a"}"); | 258 Expect.equals("\u2000x\ufeffa", "${"\u2000"}${o1}${o2}${"a"}"); |
| 239 Expect.equals("\u2000\ufeffxa", "${"\u2000"}${o2}${o1}${"a"}"); | 259 Expect.equals("\u2000\ufeffxa", "${"\u2000"}${o2}${o1}${"a"}"); |
| 240 Expect.equals("x\u2000\ufeffa", "${o1}${"\u2000"}${o2}${"a"}"); | 260 Expect.equals("x\u2000\ufeffa", "${o1}${"\u2000"}${o2}${"a"}"); |
| 241 Expect.equals("x\ufeff\u2000a", "${o1}${o2}${"\u2000"}${"a"}"); | 261 Expect.equals("x\ufeff\u2000a", "${o1}${o2}${"\u2000"}${"a"}"); |
| 242 Expect.equals("\ufeffx\u2000a", "${o2}${o1}${"\u2000"}${"a"}"); | 262 Expect.equals("\ufeffx\u2000a", "${o2}${o1}${"\u2000"}${"a"}"); |
| 243 Expect.equals("\ufeff\u2000xa", "${o2}${"\u2000"}${o1}${"a"}"); | 263 Expect.equals("\ufeff\u2000xa", "${o2}${"\u2000"}${o1}${"a"}"); |
| 244 } | 264 } |
| OLD | NEW |