@@ -8,6 +8,7 @@ const buf_bc = Buffer.from('bc');
88const buf_f = Buffer . from ( 'f' ) ;
99const buf_z = Buffer . from ( 'z' ) ;
1010const buf_empty = Buffer . from ( '' ) ;
11+ const buf_base64 = Buffer . from ( '+/00' , 'base64' )
1112
1213const s = 'abcdef' ;
1314
@@ -108,6 +109,13 @@ assert.strictEqual(
108109 3
109110) ;
110111
112+ // Test base64url encoding
113+ assert . strictEqual (
114+ Buffer . from ( b . toString ( 'base64url' ) , 'base64url' )
115+ . indexOf ( 'ZA==' , 0 , 'base64url' ) ,
116+ 3
117+ ) ;
118+
111119// test ascii encoding
112120assert . strictEqual (
113121 Buffer . from ( b . toString ( 'ascii' ) , 'ascii' )
@@ -180,15 +188,17 @@ assert.strictEqual(Buffer.from('aaaa0').indexOf('30', 'hex'), 4);
180188assert . strictEqual ( Buffer . from ( 'aaaa00a' ) . indexOf ( '3030' , 'hex' ) , 4 ) ;
181189
182190{
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' ) ) ;
191+ // test usc2 and utf16le encoding
192+ [ 'ucs2' , 'utf16le' ] . forEach ( ( encoding ) => {
193+ const twoByteString = Buffer . from ( '\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+ } ) ;
192202}
193203
194204const mixedByteStringUcs2 =
0 commit comments