@@ -110,16 +110,17 @@ assert.equal(
110
110
Buffer ( b . toString ( 'binary' ) , 'binary' )
111
111
. indexOf ( Buffer ( 'd' , 'binary' ) , 0 , 'binary' ) , 3 ) ;
112
112
113
-
114
- // test usc2 encoding
115
- var twoByteString = new Buffer ( '\u039a\u0391\u03a3\u03a3\u0395' , 'ucs2' ) ;
116
-
117
- assert . equal ( 8 , twoByteString . indexOf ( '\u0395' , 4 , 'ucs2' ) ) ;
118
- assert . equal ( 6 , twoByteString . indexOf ( '\u03a3' , - 4 , 'ucs2' ) ) ;
119
- assert . equal ( 4 , twoByteString . indexOf ( '\u03a3' , - 6 , 'ucs2' ) ) ;
120
- assert . equal ( 4 , twoByteString . indexOf (
121
- new Buffer ( '\u03a3' , 'ucs2' ) , - 6 , 'ucs2' ) ) ;
122
- assert . equal ( - 1 , twoByteString . indexOf ( '\u03a3' , - 2 , 'ucs2' ) ) ;
113
+ {
114
+ // test usc2 encoding
115
+ const twoByteString = new Buffer ( '\u039a\u0391\u03a3\u03a3\u0395' , 'ucs2' ) ;
116
+
117
+ assert . equal ( 8 , twoByteString . indexOf ( '\u0395' , 4 , 'ucs2' ) ) ;
118
+ assert . equal ( 6 , twoByteString . indexOf ( '\u03a3' , - 4 , 'ucs2' ) ) ;
119
+ assert . equal ( 4 , twoByteString . indexOf ( '\u03a3' , - 6 , 'ucs2' ) ) ;
120
+ assert . equal ( 4 , twoByteString . indexOf (
121
+ new Buffer ( '\u03a3' , 'ucs2' ) , - 6 , 'ucs2' ) ) ;
122
+ assert . equal ( - 1 , twoByteString . indexOf ( '\u03a3' , - 2 , 'ucs2' ) ) ;
123
+ }
123
124
124
125
var mixedByteStringUcs2 =
125
126
new Buffer ( '\u039a\u0391abc\u03a3\u03a3\u0395' , 'ucs2' ) ;
@@ -134,25 +135,27 @@ assert.equal(
134
135
assert . equal (
135
136
- 1 , mixedByteStringUcs2 . indexOf ( new Buffer ( '\u0396' , 'ucs2' ) , 0 , 'ucs2' ) ) ;
136
137
137
- var twoByteString = new Buffer ( '\u039a\u0391\u03a3\u03a3\u0395' , 'ucs2' ) ;
138
-
139
- // Test single char pattern
140
- assert . equal ( 0 , twoByteString . indexOf ( '\u039a' , 0 , 'ucs2' ) ) ;
141
- assert . equal ( 2 , twoByteString . indexOf ( '\u0391' , 0 , 'ucs2' ) , 'Alpha' ) ;
142
- assert . equal ( 4 , twoByteString . indexOf ( '\u03a3' , 0 , 'ucs2' ) , 'First Sigma' ) ;
143
- assert . equal ( 6 , twoByteString . indexOf ( '\u03a3' , 6 , 'ucs2' ) , 'Second Sigma' ) ;
144
- assert . equal ( 8 , twoByteString . indexOf ( '\u0395' , 0 , 'ucs2' ) , 'Epsilon' ) ;
145
- assert . equal ( - 1 , twoByteString . indexOf ( '\u0392' , 0 , 'ucs2' ) , 'Not beta' ) ;
146
-
147
- // Test multi-char pattern
148
- assert . equal (
149
- 0 , twoByteString . indexOf ( '\u039a\u0391' , 0 , 'ucs2' ) , 'Lambda Alpha' ) ;
150
- assert . equal (
151
- 2 , twoByteString . indexOf ( '\u0391\u03a3' , 0 , 'ucs2' ) , 'Alpha Sigma' ) ;
152
- assert . equal (
153
- 4 , twoByteString . indexOf ( '\u03a3\u03a3' , 0 , 'ucs2' ) , 'Sigma Sigma' ) ;
154
- assert . equal (
155
- 6 , twoByteString . indexOf ( '\u03a3\u0395' , 0 , 'ucs2' ) , 'Sigma Epsilon' ) ;
138
+ {
139
+ const twoByteString = new Buffer ( '\u039a\u0391\u03a3\u03a3\u0395' , 'ucs2' ) ;
140
+
141
+ // Test single char pattern
142
+ assert . equal ( 0 , twoByteString . indexOf ( '\u039a' , 0 , 'ucs2' ) ) ;
143
+ assert . equal ( 2 , twoByteString . indexOf ( '\u0391' , 0 , 'ucs2' ) , 'Alpha' ) ;
144
+ assert . equal ( 4 , twoByteString . indexOf ( '\u03a3' , 0 , 'ucs2' ) , 'First Sigma' ) ;
145
+ assert . equal ( 6 , twoByteString . indexOf ( '\u03a3' , 6 , 'ucs2' ) , 'Second Sigma' ) ;
146
+ assert . equal ( 8 , twoByteString . indexOf ( '\u0395' , 0 , 'ucs2' ) , 'Epsilon' ) ;
147
+ assert . equal ( - 1 , twoByteString . indexOf ( '\u0392' , 0 , 'ucs2' ) , 'Not beta' ) ;
148
+
149
+ // Test multi-char pattern
150
+ assert . equal (
151
+ 0 , twoByteString . indexOf ( '\u039a\u0391' , 0 , 'ucs2' ) , 'Lambda Alpha' ) ;
152
+ assert . equal (
153
+ 2 , twoByteString . indexOf ( '\u0391\u03a3' , 0 , 'ucs2' ) , 'Alpha Sigma' ) ;
154
+ assert . equal (
155
+ 4 , twoByteString . indexOf ( '\u03a3\u03a3' , 0 , 'ucs2' ) , 'Sigma Sigma' ) ;
156
+ assert . equal (
157
+ 6 , twoByteString . indexOf ( '\u03a3\u0395' , 0 , 'ucs2' ) , 'Sigma Epsilon' ) ;
158
+ }
156
159
157
160
var mixedByteStringUtf8 = new Buffer ( '\u039a\u0391abc\u03a3\u03a3\u0395' ) ;
158
161
assert . equal ( 5 , mixedByteStringUtf8 . indexOf ( 'bc' ) ) ;
@@ -165,16 +168,16 @@ assert.equal(-1, mixedByteStringUtf8.indexOf('\u0396'));
165
168
// Test complex string indexOf algorithms. Only trigger for long strings.
166
169
// Long string that isn't a simple repeat of a shorter string.
167
170
var longString = 'A' ;
168
- for ( var i = 66 ; i < 76 ; i ++ ) { // from 'B' to 'K'
171
+ for ( let i = 66 ; i < 76 ; i ++ ) { // from 'B' to 'K'
169
172
longString = longString + String . fromCharCode ( i ) + longString ;
170
173
}
171
174
172
175
var longBufferString = new Buffer ( longString ) ;
173
176
174
177
// pattern of 15 chars, repeated every 16 chars in long
175
178
var pattern = 'ABACABADABACABA' ;
176
- for ( var i = 0 ; i < longBufferString . length - pattern . length ; i += 7 ) {
177
- var index = longBufferString . indexOf ( pattern , i ) ;
179
+ for ( let i = 0 ; i < longBufferString . length - pattern . length ; i += 7 ) {
180
+ const index = longBufferString . indexOf ( pattern , i ) ;
178
181
assert . equal ( ( i + 15 ) & ~ 0xf , index , 'Long ABACABA...-string at index ' + i ) ;
179
182
}
180
183
assert . equal ( 510 , longBufferString . indexOf ( 'AJABACA' ) , 'Long AJABACA, First J' ) ;
@@ -195,7 +198,7 @@ assert.equal(3, asciiString.indexOf('leb', 0));
195
198
196
199
// Search in string containing many non-ASCII chars.
197
200
var allCodePoints = [ ] ;
198
- for ( var i = 0 ; i < 65536 ; i ++ ) allCodePoints [ i ] = i ;
201
+ for ( let i = 0 ; i < 65536 ; i ++ ) allCodePoints [ i ] = i ;
199
202
var allCharsString = String . fromCharCode . apply ( String , allCodePoints ) ;
200
203
var allCharsBufferUtf8 = new Buffer ( allCharsString ) ;
201
204
var allCharsBufferUcs2 = new Buffer ( allCharsString , 'ucs2' ) ;
@@ -205,50 +208,54 @@ var allCharsBufferUcs2 = new Buffer(allCharsString, 'ucs2');
205
208
assert . equal ( - 1 , allCharsBufferUtf8 . indexOf ( 'notfound' ) ) ;
206
209
assert . equal ( - 1 , allCharsBufferUcs2 . indexOf ( 'notfound' ) ) ;
207
210
208
- // Find substrings in Utf8.
209
- var lengths = [ 1 , 3 , 15 ] ; // Single char, simple and complex.
210
- var indices = [ 0x5 , 0x60 , 0x400 , 0x680 , 0x7ee , 0xFF02 , 0x16610 , 0x2f77b ] ;
211
- for ( var lengthIndex = 0 ; lengthIndex < lengths . length ; lengthIndex ++ ) {
212
- for ( var i = 0 ; i < indices . length ; i ++ ) {
213
- var index = indices [ i ] ;
214
- var length = lengths [ lengthIndex ] ;
211
+ {
212
+ // Find substrings in Utf8.
213
+ const lengths = [ 1 , 3 , 15 ] ; // Single char, simple and complex.
214
+ const indices = [ 0x5 , 0x60 , 0x400 , 0x680 , 0x7ee , 0xFF02 , 0x16610 , 0x2f77b ] ;
215
+ for ( let lengthIndex = 0 ; lengthIndex < lengths . length ; lengthIndex ++ ) {
216
+ for ( let i = 0 ; i < indices . length ; i ++ ) {
217
+ const index = indices [ i ] ;
218
+ let length = lengths [ lengthIndex ] ;
215
219
216
- if ( index + length > 0x7F ) {
217
- length = 2 * length ;
218
- }
220
+ if ( index + length > 0x7F ) {
221
+ length = 2 * length ;
222
+ }
219
223
220
- if ( index + length > 0x7FF ) {
221
- length = 3 * length ;
222
- }
224
+ if ( index + length > 0x7FF ) {
225
+ length = 3 * length ;
226
+ }
223
227
224
- if ( index + length > 0xFFFF ) {
225
- length = 4 * length ;
226
- }
228
+ if ( index + length > 0xFFFF ) {
229
+ length = 4 * length ;
230
+ }
227
231
228
- var patternBufferUtf8 = allCharsBufferUtf8 . slice ( index , index + length ) ;
229
- assert . equal ( index , allCharsBufferUtf8 . indexOf ( patternBufferUtf8 ) ) ;
232
+ var patternBufferUtf8 = allCharsBufferUtf8 . slice ( index , index + length ) ;
233
+ assert . equal ( index , allCharsBufferUtf8 . indexOf ( patternBufferUtf8 ) ) ;
230
234
231
- var patternStringUtf8 = patternBufferUtf8 . toString ( ) ;
232
- assert . equal ( index , allCharsBufferUtf8 . indexOf ( patternStringUtf8 ) ) ;
235
+ var patternStringUtf8 = patternBufferUtf8 . toString ( ) ;
236
+ assert . equal ( index , allCharsBufferUtf8 . indexOf ( patternStringUtf8 ) ) ;
237
+ }
233
238
}
234
239
}
235
240
236
- // Find substrings in Usc2.
237
- var lengths = [ 2 , 4 , 16 ] ; // Single char, simple and complex.
238
- var indices = [ 0x5 , 0x65 , 0x105 , 0x205 , 0x285 , 0x2005 , 0x2085 , 0xfff0 ] ;
239
- for ( var lengthIndex = 0 ; lengthIndex < lengths . length ; lengthIndex ++ ) {
240
- for ( var i = 0 ; i < indices . length ; i ++ ) {
241
- var index = indices [ i ] * 2 ;
242
- var length = lengths [ lengthIndex ] ;
243
-
244
- var patternBufferUcs2 =
245
- allCharsBufferUcs2 . slice ( index , index + length ) ;
246
- assert . equal (
247
- index , allCharsBufferUcs2 . indexOf ( patternBufferUcs2 , 0 , 'ucs2' ) ) ;
248
-
249
- var patternStringUcs2 = patternBufferUcs2 . toString ( 'ucs2' ) ;
250
- assert . equal (
251
- index , allCharsBufferUcs2 . indexOf ( patternStringUcs2 , 0 , 'ucs2' ) ) ;
241
+ {
242
+ // Find substrings in Usc2.
243
+ const lengths = [ 2 , 4 , 16 ] ; // Single char, simple and complex.
244
+ const indices = [ 0x5 , 0x65 , 0x105 , 0x205 , 0x285 , 0x2005 , 0x2085 , 0xfff0 ] ;
245
+ for ( let lengthIndex = 0 ; lengthIndex < lengths . length ; lengthIndex ++ ) {
246
+ for ( let i = 0 ; i < indices . length ; i ++ ) {
247
+ const index = indices [ i ] * 2 ;
248
+ const length = lengths [ lengthIndex ] ;
249
+
250
+ var patternBufferUcs2 =
251
+ allCharsBufferUcs2 . slice ( index , index + length ) ;
252
+ assert . equal (
253
+ index , allCharsBufferUcs2 . indexOf ( patternBufferUcs2 , 0 , 'ucs2' ) ) ;
254
+
255
+ var patternStringUcs2 = patternBufferUcs2 . toString ( 'ucs2' ) ;
256
+ assert . equal (
257
+ index , allCharsBufferUcs2 . indexOf ( patternStringUcs2 , 0 , 'ucs2' ) ) ;
258
+ }
252
259
}
253
260
}
254
261
0 commit comments