@@ -108,6 +108,13 @@ assert.strictEqual(
108
108
3
109
109
) ;
110
110
111
+ // Test base64url encoding
112
+ assert . strictEqual (
113
+ Buffer . from ( b . toString ( 'base64url' ) , 'base64url' )
114
+ . indexOf ( 'ZA==' , 0 , 'base64url' ) ,
115
+ 3
116
+ ) ;
117
+
111
118
// test ascii encoding
112
119
assert . strictEqual (
113
120
Buffer . from ( b . toString ( 'ascii' ) , 'ascii' )
@@ -180,15 +187,18 @@ assert.strictEqual(Buffer.from('aaaa0').indexOf('30', 'hex'), 4);
180
187
assert . strictEqual ( Buffer . from ( 'aaaa00a' ) . indexOf ( '3030' , 'hex' ) , 4 ) ;
181
188
182
189
{
183
- // test usc2 encoding
184
- const twoByteString = Buffer . from ( '\u039a\u0391\u03a3\u03a3\u0395' , 'ucs2' ) ;
185
-
186
- assert . strictEqual ( twoByteString . indexOf ( '\u0395' , 4 , 'ucs2' ) , 8 ) ;
187
- assert . strictEqual ( twoByteString . indexOf ( '\u03a3' , - 4 , 'ucs2' ) , 6 ) ;
188
- assert . strictEqual ( twoByteString . indexOf ( '\u03a3' , - 6 , 'ucs2' ) , 4 ) ;
189
- assert . strictEqual ( twoByteString . indexOf (
190
- Buffer . from ( '\u03a3' , 'ucs2' ) , - 6 , 'ucs2' ) , 4 ) ;
191
- assert . strictEqual ( - 1 , twoByteString . indexOf ( '\u03a3' , - 2 , 'ucs2' ) ) ;
190
+ // Test usc2 and utf16le encoding
191
+ [ 'ucs2' , 'utf16le' ] . forEach ( ( encoding ) => {
192
+ const twoByteString = Buffer . from (
193
+ '\u039a\u0391\u03a3\u03a3\u0395' , encoding ) ;
194
+
195
+ assert . strictEqual ( twoByteString . indexOf ( '\u0395' , 4 , encoding ) , 8 ) ;
196
+ assert . strictEqual ( twoByteString . indexOf ( '\u03a3' , - 4 , encoding ) , 6 ) ;
197
+ assert . strictEqual ( twoByteString . indexOf ( '\u03a3' , - 6 , encoding ) , 4 ) ;
198
+ assert . strictEqual ( twoByteString . indexOf (
199
+ Buffer . from ( '\u03a3' , encoding ) , - 6 , encoding ) , 4 ) ;
200
+ assert . strictEqual ( - 1 , twoByteString . indexOf ( '\u03a3' , - 2 , encoding ) ) ;
201
+ } ) ;
192
202
}
193
203
194
204
const mixedByteStringUcs2 =
0 commit comments