Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: tests/corelib/string_fromcharcodes_test.dart

Issue 2771453003: Format all tests. (Closed)
Patch Set: Format files Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import "dart:typed_data"; 6 import "dart:typed_data";
7 7
8 main() { 8 main() {
9 iter(count, [values]) => values is List 9 iter(count, [values]) => values is List
10 ? new Iterable.generate(count, (x) => values[x]) 10 ? new Iterable.generate(count, (x) => values[x])
11 : new Iterable.generate(count, (x) => values); 11 : new Iterable.generate(count, (x) => values);
12 test(expect, iter, [start = 0, end]) { 12 test(expect, iter, [start = 0, end]) {
13 var actual = new String.fromCharCodes(iter, start, end); 13 var actual = new String.fromCharCodes(iter, start, end);
14 Expect.equals(expect, actual); 14 Expect.equals(expect, actual);
15 } 15 }
16
16 testThrows(iterable, [start = 0, end]) { 17 testThrows(iterable, [start = 0, end]) {
17 Expect.throws(() { new String.fromCharCodes(iterable, start, end); }); 18 Expect.throws(() {
19 new String.fromCharCodes(iterable, start, end);
20 });
18 } 21 }
19 22
20 test("", iter(0)); 23 test("", iter(0));
21 test("", []); 24 test("", []);
22 test("", const []); 25 test("", const []);
23 test("", new List(0)); 26 test("", new List(0));
24 test("", new Uint8List(0)); 27 test("", new Uint8List(0));
25 test("", new Uint16List(0)); 28 test("", new Uint16List(0));
26 test("", new Uint32List(0)); 29 test("", new Uint32List(0));
27 test("", "".codeUnits); 30 test("", "".codeUnits);
28 31
29 test("\x00", iter(1, 0)); 32 test("\x00", iter(1, 0));
30 test("\x00", [0]); 33 test("\x00", [0]);
31 test("\x00", const [0]); 34 test("\x00", const [0]);
32 test("\x00", new List(1)..[0]=0); 35 test("\x00", new List(1)..[0] = 0);
33 test("\x00", new Uint8List(1)); 36 test("\x00", new Uint8List(1));
34 test("\x00", new Uint16List(1)); 37 test("\x00", new Uint16List(1));
35 test("\x00", new Uint32List(1)); 38 test("\x00", new Uint32List(1));
36 test("\x00", "\x00".codeUnits); 39 test("\x00", "\x00".codeUnits);
37 40
38 test("\xff", iter(1, 255)); 41 test("\xff", iter(1, 255));
39 test("\xFF", [255]); 42 test("\xFF", [255]);
40 test("\xFF", const [255]); 43 test("\xFF", const [255]);
41 test("\xFF", new List(1)..[0]=255); 44 test("\xFF", new List(1)..[0] = 255);
42 test("\xFF", new Uint8List(1)..[0] = 255); 45 test("\xFF", new Uint8List(1)..[0] = 255);
43 test("\xFF", new Uint16List(1)..[0] = 255); 46 test("\xFF", new Uint16List(1)..[0] = 255);
44 test("\xFF", new Uint32List(1)..[0] = 255); 47 test("\xFF", new Uint32List(1)..[0] = 255);
45 test("\xFF", "\xFF".codeUnits); 48 test("\xFF", "\xFF".codeUnits);
46 49
47 test("\u0100", iter(1, 256)); 50 test("\u0100", iter(1, 256));
48 test("\u0100", [256]); 51 test("\u0100", [256]);
49 test("\u0100", const [256]); 52 test("\u0100", const [256]);
50 test("\u0100", new List(1)..[0]=256); 53 test("\u0100", new List(1)..[0] = 256);
51 test("\u0100", new Uint16List(1)..[0] = 256); 54 test("\u0100", new Uint16List(1)..[0] = 256);
52 test("\u0100", new Uint32List(1)..[0] = 256); 55 test("\u0100", new Uint32List(1)..[0] = 256);
53 test("\u0100", "\u0100".codeUnits); 56 test("\u0100", "\u0100".codeUnits);
54 57
55 test("\uffff", iter(1, 65535)); 58 test("\uffff", iter(1, 65535));
56 test("\uffff", [65535]); 59 test("\uffff", [65535]);
57 test("\uffff", const [65535]); 60 test("\uffff", const [65535]);
58 test("\uffff", new List(1)..[0]=65535); 61 test("\uffff", new List(1)..[0] = 65535);
59 test("\uffff", new Uint16List(1)..[0] = 65535); 62 test("\uffff", new Uint16List(1)..[0] = 65535);
60 test("\uffff", new Uint32List(1)..[0] = 65535); 63 test("\uffff", new Uint32List(1)..[0] = 65535);
61 test("\uffff", "\uffff".codeUnits); 64 test("\uffff", "\uffff".codeUnits);
62 65
63 test("\u{10000}", iter(1, 65536)); 66 test("\u{10000}", iter(1, 65536));
64 test("\u{10000}", [65536]); 67 test("\u{10000}", [65536]);
65 test("\u{10000}", const [65536]); 68 test("\u{10000}", const [65536]);
66 test("\u{10000}", new List(1)..[0]=65536); 69 test("\u{10000}", new List(1)..[0] = 65536);
67 test("\u{10000}", new Uint32List(1)..[0]=65536); 70 test("\u{10000}", new Uint32List(1)..[0] = 65536);
68 test("\u{10000}", "\u{10000}".codeUnits); 71 test("\u{10000}", "\u{10000}".codeUnits);
69 72
70 test("\u{10FFFF}", iter(1, 0x10FFFF)); 73 test("\u{10FFFF}", iter(1, 0x10FFFF));
71 test("\u{10FFFF}", [0x10FFFF]); 74 test("\u{10FFFF}", [0x10FFFF]);
72 test("\u{10FFFF}", const [0x10FFFF]); 75 test("\u{10FFFF}", const [0x10FFFF]);
73 test("\u{10FFFF}", new List(1)..[0]=0x10FFFF); 76 test("\u{10FFFF}", new List(1)..[0] = 0x10FFFF);
74 test("\u{10FFFF}", new Uint32List(1)..[0] = 0x10FFFF); 77 test("\u{10FFFF}", new Uint32List(1)..[0] = 0x10FFFF);
75 78
76 test("\u{10ffff}", iter(2, [0xDBFF, 0xDFFF])); 79 test("\u{10ffff}", iter(2, [0xDBFF, 0xDFFF]));
77 test("\u{10ffff}", [0xDBFF, 0xDFFF]); 80 test("\u{10ffff}", [0xDBFF, 0xDFFF]);
78 test("\u{10ffff}", const [0xDBFF, 0xDFFF]); 81 test("\u{10ffff}", const [0xDBFF, 0xDFFF]);
79 test("\u{10ffff}", new List(2)..[0] = 0xDBFF..[1] = 0xDFFF); 82 test(
80 test("\u{10ffff}", new Uint16List(2)..[0] = 0xDBFF..[1] = 0xDFFF); 83 "\u{10ffff}",
81 test("\u{10ffff}", new Uint32List(2)..[0] = 0xDBFF..[1] = 0xDFFF); 84 new List(2)
85 ..[0] = 0xDBFF
86 ..[1] = 0xDFFF);
87 test(
88 "\u{10ffff}",
89 new Uint16List(2)
90 ..[0] = 0xDBFF
91 ..[1] = 0xDFFF);
92 test(
93 "\u{10ffff}",
94 new Uint32List(2)
95 ..[0] = 0xDBFF
96 ..[1] = 0xDFFF);
82 test("\u{10FFFF}", "\u{10FFFF}".codeUnits); 97 test("\u{10FFFF}", "\u{10FFFF}".codeUnits);
83 98
84 var leadSurrogate = "\u{10ffff}"[0]; 99 var leadSurrogate = "\u{10ffff}"[0];
85 test(leadSurrogate, iter(1, 0xDBFF)); 100 test(leadSurrogate, iter(1, 0xDBFF));
86 test(leadSurrogate, [0xDBFF]); 101 test(leadSurrogate, [0xDBFF]);
87 test(leadSurrogate, const [0xDBFF]); 102 test(leadSurrogate, const [0xDBFF]);
88 test(leadSurrogate, new List(1)..[0]=0xDBFF); 103 test(leadSurrogate, new List(1)..[0] = 0xDBFF);
89 test(leadSurrogate, new Uint16List(1)..[0] = 0xDBFF); 104 test(leadSurrogate, new Uint16List(1)..[0] = 0xDBFF);
90 test(leadSurrogate, new Uint32List(1)..[0] = 0xDBFF); 105 test(leadSurrogate, new Uint32List(1)..[0] = 0xDBFF);
91 test(leadSurrogate, leadSurrogate.codeUnits); 106 test(leadSurrogate, leadSurrogate.codeUnits);
92 107
93 var tailSurrogate = "\u{10ffff}"[1]; 108 var tailSurrogate = "\u{10ffff}"[1];
94 test(tailSurrogate, iter(1, 0xDFFF)); 109 test(tailSurrogate, iter(1, 0xDFFF));
95 test(tailSurrogate, [0xDFFF]); 110 test(tailSurrogate, [0xDFFF]);
96 test(tailSurrogate, const [0xDFFF]); 111 test(tailSurrogate, const [0xDFFF]);
97 test(tailSurrogate, new List(1)..[0]=0xDFFF); 112 test(tailSurrogate, new List(1)..[0] = 0xDFFF);
98 test(tailSurrogate, new Uint16List(1)..[0] = 0xDFFF); 113 test(tailSurrogate, new Uint16List(1)..[0] = 0xDFFF);
99 test(tailSurrogate, new Uint32List(1)..[0] = 0xDFFF); 114 test(tailSurrogate, new Uint32List(1)..[0] = 0xDFFF);
100 test(tailSurrogate, tailSurrogate.codeUnits); 115 test(tailSurrogate, tailSurrogate.codeUnits);
101 116
102 testThrows(null); 117 testThrows(null);
103 testThrows("not an iterable"); 118 testThrows("not an iterable");
104 testThrows(42); 119 testThrows(42);
105 testThrows([-1]); 120 testThrows([-1]);
106 testThrows(new List(1)..[0] = -1); 121 testThrows(new List(1)..[0] = -1);
107 testThrows(const [-1]); 122 testThrows(const [-1]);
108 testThrows(new Int8List(1)..[0] = -1); 123 testThrows(new Int8List(1)..[0] = -1);
109 testThrows(new Int16List(1)..[0] = -1); 124 testThrows(new Int16List(1)..[0] = -1);
110 testThrows(new Int32List(1)..[0] = -1); 125 testThrows(new Int32List(1)..[0] = -1);
111 testThrows([0x110000]); 126 testThrows([0x110000]);
112 testThrows(new List(1)..[0] = 0x110000); 127 testThrows(new List(1)..[0] = 0x110000);
113 testThrows(const [0x110000]); 128 testThrows(const [0x110000]);
114 testThrows(new Int32List(1)..[0] = 0x110000); 129 testThrows(new Int32List(1)..[0] = 0x110000);
115 130
116 // Check start/end 131 // Check start/end
117 var list = const[0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48]; 132 var list = const [0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48];
118 for (var iterable in [ 133 for (var iterable in [
119 iter(list.length, list), 134 iter(list.length, list),
120 list.toList(growable: true), 135 list.toList(growable: true),
121 list.toList(growable: false), 136 list.toList(growable: false),
122 list, 137 list,
123 new Uint8List(8)..setRange(0, 8, list), 138 new Uint8List(8)..setRange(0, 8, list),
124 new Uint16List(8)..setRange(0, 8, list), 139 new Uint16List(8)..setRange(0, 8, list),
125 new Uint32List(8)..setRange(0, 8, list), 140 new Uint32List(8)..setRange(0, 8, list),
126 "ABCDEFGH".codeUnits, 141 "ABCDEFGH".codeUnits,
127 ]) { 142 ]) {
128 test("ABCDEFGH", iterable); 143 test("ABCDEFGH", iterable);
129 // start varies, end is null. 144 // start varies, end is null.
130 test("ABCDEFGH", iterable, 0); 145 test("ABCDEFGH", iterable, 0);
131 test("BCDEFGH", iterable, 1); 146 test("BCDEFGH", iterable, 1);
132 test("H", iterable, 7); 147 test("H", iterable, 7);
133 test("", iterable, 8); 148 test("", iterable, 8);
134 // start = 0, end varies. 149 // start = 0, end varies.
135 test("ABCDEFGH", iterable, 0); 150 test("ABCDEFGH", iterable, 0);
136 test("A", iterable, 0, 1); 151 test("A", iterable, 0, 1);
137 test("AB", iterable, 0, 2); 152 test("AB", iterable, 0, 2);
138 test("ABCDEFG", iterable, 0, 7); 153 test("ABCDEFG", iterable, 0, 7);
139 test("ABCDEFGH", iterable, 0, 8); 154 test("ABCDEFGH", iterable, 0, 8);
140 test("", iterable, 0, 0); 155 test("", iterable, 0, 0);
141 // Both varying. 156 // Both varying.
142 test("ABCDEFGH", iterable, 0, 8); 157 test("ABCDEFGH", iterable, 0, 8);
143 test("AB", iterable, 0, 2); 158 test("AB", iterable, 0, 2);
144 test("GH", iterable, 6, 8); 159 test("GH", iterable, 6, 8);
145 test("DE", iterable, 3, 5); 160 test("DE", iterable, 3, 5);
146 test("", iterable, 3, 3); 161 test("", iterable, 3, 3);
147 } 162 }
148 // Can split surrogates in input, but not a single big code point. 163 // Can split surrogates in input, but not a single big code point.
149 test(leadSurrogate, [0xDBFF, 0xDFFF], 0, 1); 164 test(leadSurrogate, [0xDBFF, 0xDFFF], 0, 1);
150 test(tailSurrogate, [0xDBFF, 0xDFFF], 1); 165 test(tailSurrogate, [0xDBFF, 0xDFFF], 1);
151 test("\u{10FFFF}", [0x10FFFF], 0, 1); 166 test("\u{10FFFF}", [0x10FFFF], 0, 1);
152 167
153 void testThrowsRange(iterable, [start = 0, end]) { 168 void testThrowsRange(iterable, [start = 0, end]) {
154 Expect.throws(() => new String.fromCharCodes(iterable, start, end), 169 Expect.throws(() => new String.fromCharCodes(iterable, start, end),
155 (e) => e is RangeError); 170 (e) => e is RangeError);
156 } 171 }
157 172
158 // Test varying slices of the code units of a string. 173 // Test varying slices of the code units of a string.
159 testSubstring(string) { 174 testSubstring(string) {
160 var codes = string.codeUnits; 175 var codes = string.codeUnits;
161 int length = string.length; 176 int length = string.length;
162 for (var iterable in [ 177 for (var iterable in [
163 iter(length, codes), 178 iter(length, codes),
164 codes.toList(growable: true), 179 codes.toList(growable: true),
165 codes.toList(growable: false), 180 codes.toList(growable: false),
166 new Uint16List(length)..setRange(0, length, codes), 181 new Uint16List(length)..setRange(0, length, codes),
167 new Int32List(length)..setRange(0, length, codes), 182 new Int32List(length)..setRange(0, length, codes),
168 new Uint32List(length)..setRange(0, length, codes), 183 new Uint32List(length)..setRange(0, length, codes),
169 codes, 184 codes,
170 ]) { 185 ]) {
171 var newString = new String.fromCharCodes(iterable); 186 var newString = new String.fromCharCodes(iterable);
172 Expect.equals(string, newString); 187 Expect.equals(string, newString);
173 for (int i = 0; i < length; i = i * 2 + 1) { 188 for (int i = 0; i < length; i = i * 2 + 1) {
174 test(string.substring(i), iterable, i); 189 test(string.substring(i), iterable, i);
175 test(string.substring(0, i), iterable, 0, i); 190 test(string.substring(0, i), iterable, 0, i);
176 for (int j = 0; i + j < length; j = j * 2 + 1) { 191 for (int j = 0; i + j < length; j = j * 2 + 1) {
177 test(string.substring(i, i + j), iterable, i, i + j); 192 test(string.substring(i, i + j), iterable, i, i + j);
178 } 193 }
179 } 194 }
180 195
(...skipping 13 matching lines...) Expand all
194 testSubstring("\x00" * 357); 209 testSubstring("\x00" * 357);
195 // length > 128 and non-ASCII. 210 // length > 128 and non-ASCII.
196 testSubstring("\uFFFD\uFFFE\u{10000}\u{10ffff}c\x00" * 37); 211 testSubstring("\uFFFD\uFFFE\u{10000}\u{10ffff}c\x00" * 37);
197 212
198 // Large List. 213 // Large List.
199 var megaList = ("abcde" * 200000).codeUnits.toList(); 214 var megaList = ("abcde" * 200000).codeUnits.toList();
200 test("abcde" * 199998, megaList, 5, 999995); 215 test("abcde" * 199998, megaList, 5, 999995);
201 // Large Uint8List. 216 // Large Uint8List.
202 test("abcde" * 199998, new Uint8List.fromList(megaList), 5, 999995); 217 test("abcde" * 199998, new Uint8List.fromList(megaList), 5, 999995);
203 218
204 const cLatin1 = const [0x00, 0xff]; 219 const cLatin1 = const [0x00, 0xff];
205 const cUtf16 = const [0x00, 0xffff, 0xdfff, 0xdbff, 0xdfff, 0xdbff]; 220 const cUtf16 = const [0x00, 0xffff, 0xdfff, 0xdbff, 0xdfff, 0xdbff];
206 const cCodepoints = const [0x00, 0xffff, 0xdfff, 0x10ffff, 0xdbff]; 221 const cCodepoints = const [0x00, 0xffff, 0xdfff, 0x10ffff, 0xdbff];
207 List gLatin1 = cLatin1.toList(growable: true); 222 List gLatin1 = cLatin1.toList(growable: true);
208 List gUtf16 = cUtf16.toList(growable: true); 223 List gUtf16 = cUtf16.toList(growable: true);
209 List gCodepoints = cCodepoints.toList(growable: true); 224 List gCodepoints = cCodepoints.toList(growable: true);
210 List fLatin1 = cLatin1.toList(growable: false); 225 List fLatin1 = cLatin1.toList(growable: false);
211 List fUtf16 = cUtf16.toList(growable: false); 226 List fUtf16 = cUtf16.toList(growable: false);
212 List fCodepoints = cCodepoints.toList(growable: false); 227 List fCodepoints = cCodepoints.toList(growable: false);
213 Uint8List bLatin1 = new Uint8List(2)..setRange(0, 2, cLatin1); 228 Uint8List bLatin1 = new Uint8List(2)..setRange(0, 2, cLatin1);
214 Uint16List wLatin1 = new Uint16List(2)..setRange(0, 2, cLatin1); 229 Uint16List wLatin1 = new Uint16List(2)..setRange(0, 2, cLatin1);
215 Uint16List wUtf16 = new Uint16List(6)..setRange(0, 6, cUtf16); 230 Uint16List wUtf16 = new Uint16List(6)..setRange(0, 6, cUtf16);
216 Uint32List lLatin1 = new Uint32List(2)..setRange(0, 2, cLatin1); 231 Uint32List lLatin1 = new Uint32List(2)..setRange(0, 2, cLatin1);
217 Uint32List lUtf16 = new Uint32List(6)..setRange(0, 6, cUtf16); 232 Uint32List lUtf16 = new Uint32List(6)..setRange(0, 6, cUtf16);
218 Uint32List lCodepoints = new Uint32List(5)..setRange(0, 5, cCodepoints); 233 Uint32List lCodepoints = new Uint32List(5)..setRange(0, 5, cCodepoints);
219 Uint8List bvLatin1 = new Uint8List.view(bLatin1.buffer); 234 Uint8List bvLatin1 = new Uint8List.view(bLatin1.buffer);
220 Uint16List wvLatin1 = new Uint16List.view(wLatin1.buffer); 235 Uint16List wvLatin1 = new Uint16List.view(wLatin1.buffer);
221 Uint16List wvUtf16 = new Uint16List.view(wUtf16.buffer); 236 Uint16List wvUtf16 = new Uint16List.view(wUtf16.buffer);
222 Uint32List lvLatin1 = new Uint32List.view(lLatin1.buffer); 237 Uint32List lvLatin1 = new Uint32List.view(lLatin1.buffer);
223 Uint32List lvUtf16 = new Uint32List.view(lUtf16.buffer); 238 Uint32List lvUtf16 = new Uint32List.view(lUtf16.buffer);
224 Uint32List lvCodepoints = new Uint32List.view(lCodepoints.buffer); 239 Uint32List lvCodepoints = new Uint32List.view(lCodepoints.buffer);
225 var buffer = new Uint8List(200).buffer; 240 var buffer = new Uint8List(200).buffer;
226 Uint8List bbLatin1 = 241 Uint8List bbLatin1 = new Uint8List.view(buffer, 3, 2)..setAll(0, bLatin1);
227 new Uint8List.view(buffer, 3, 2)..setAll(0, bLatin1); 242 Uint16List wbLatin1 = new Uint16List.view(buffer, 8, 2)..setAll(0, wLatin1);
228 Uint16List wbLatin1 = 243 Uint16List wbUtf16 = new Uint16List.view(buffer, 16, 6)..setAll(0, wUtf16);
229 new Uint16List.view(buffer, 8, 2)..setAll(0, wLatin1); 244 Uint32List lbLatin1 = new Uint32List.view(buffer, 32, 2)..setAll(0, lLatin1);
230 Uint16List wbUtf16 = 245 Uint32List lbUtf16 = new Uint32List.view(buffer, 64, 6)..setAll(0, lUtf16);
231 new Uint16List.view(buffer, 16, 6)..setAll(0, wUtf16); 246 Uint32List lbCodepoints = new Uint32List.view(buffer, 128, 5)
232 Uint32List lbLatin1 = 247 ..setAll(0, lCodepoints);
233 new Uint32List.view(buffer, 32, 2)..setAll(0, lLatin1);
234 Uint32List lbUtf16 =
235 new Uint32List.view(buffer, 64, 6)..setAll(0, lUtf16);
236 Uint32List lbCodepoints =
237 new Uint32List.view(buffer, 128, 5)..setAll(0, lCodepoints);
238 248
239 String sLatin1 = "\x00\xff"; 249 String sLatin1 = "\x00\xff";
240 String sUnicode = 250 String sUnicode =
241 "\x00\uffff$tailSurrogate$leadSurrogate$tailSurrogate$leadSurrogate"; 251 "\x00\uffff$tailSurrogate$leadSurrogate$tailSurrogate$leadSurrogate";
242 for (int i = 0; i < 2; i++) { 252 for (int i = 0; i < 2; i++) {
243 for (int j = i + 1; j < 2; j++) { 253 for (int j = i + 1; j < 2; j++) {
244 test(sLatin1.substring(i, j), cLatin1, i, j); 254 test(sLatin1.substring(i, j), cLatin1, i, j);
245 test(sLatin1.substring(i, j), gLatin1, i, j); 255 test(sLatin1.substring(i, j), gLatin1, i, j);
246 test(sLatin1.substring(i, j), fLatin1, i, j); 256 test(sLatin1.substring(i, j), fLatin1, i, j);
247 test(sLatin1.substring(i, j), bLatin1, i, j); 257 test(sLatin1.substring(i, j), bLatin1, i, j);
248 test(sLatin1.substring(i, j), wLatin1, i, j); 258 test(sLatin1.substring(i, j), wLatin1, i, j);
249 test(sLatin1.substring(i, j), lLatin1, i, j); 259 test(sLatin1.substring(i, j), lLatin1, i, j);
250 test(sLatin1.substring(i, j), bvLatin1, i, j); 260 test(sLatin1.substring(i, j), bvLatin1, i, j);
(...skipping 22 matching lines...) Expand all
273 int stringEnd = j < 4 ? j : j + 1; 283 int stringEnd = j < 4 ? j : j + 1;
274 test(sUnicode.substring(i, stringEnd), cCodepoints, i, j); 284 test(sUnicode.substring(i, stringEnd), cCodepoints, i, j);
275 test(sUnicode.substring(i, stringEnd), gCodepoints, i, j); 285 test(sUnicode.substring(i, stringEnd), gCodepoints, i, j);
276 test(sUnicode.substring(i, stringEnd), fCodepoints, i, j); 286 test(sUnicode.substring(i, stringEnd), fCodepoints, i, j);
277 test(sUnicode.substring(i, stringEnd), lCodepoints, i, j); 287 test(sUnicode.substring(i, stringEnd), lCodepoints, i, j);
278 test(sUnicode.substring(i, stringEnd), lvCodepoints, i, j); 288 test(sUnicode.substring(i, stringEnd), lvCodepoints, i, j);
279 test(sUnicode.substring(i, stringEnd), lbCodepoints, i, j); 289 test(sUnicode.substring(i, stringEnd), lbCodepoints, i, j);
280 } 290 }
281 } 291 }
282 } 292 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698