@@ -289,6 +289,21 @@ describe('parse', function () {
289289 assert . strictEqual ( parseAndEval ( '0x1.' ) , 1 )
290290 } )
291291
292+ it ( 'should require hex, bin, oct values to be followed by whitespace or a delimiter' , function ( ) {
293+ assert . throws ( ( ) => parseAndEval ( '0b0a' ) , / S y n t a x E r r o r : S t r i n g " 0 b 0 a " i s n o t a v a l i d n u m b e r / )
294+ assert . throws ( ( ) => parseAndEval ( '0x1k' ) , / S y n t a x E r r o r : S t r i n g " 0 x 1 k " i s n o t a v a l i d n u m b e r / )
295+ assert . throws ( ( ) => parseAndEval ( '0o1k' ) , / S y n t a x E r r o r : S t r i n g " 0 o 1 k " i s n o t a v a l i d n u m b e r / )
296+ assert . throws ( ( ) => parseAndEval ( '0b1k' ) , / S y n t a x E r r o r : S t r i n g " 0 b 1 k " i s n o t a v a l i d n u m b e r / )
297+
298+ assert . strictEqual ( parseAndEval ( '0x1 k' , { k : 2 } ) , 2 )
299+ assert . strictEqual ( parseAndEval ( '0o1 k' , { k : 2 } ) , 2 )
300+ assert . strictEqual ( parseAndEval ( '0b1 k' , { k : 2 } ) , 2 )
301+
302+ assert . strictEqual ( parseAndEval ( '0x1*k' , { k : 2 } ) , 2 )
303+ assert . strictEqual ( parseAndEval ( '0o1*k' , { k : 2 } ) , 2 )
304+ assert . strictEqual ( parseAndEval ( '0b1*k' , { k : 2 } ) , 2 )
305+ } )
306+
292307 it ( 'should parse a number followed by e' , function ( ) {
293308 approxEqual ( parseAndEval ( '2e' ) , 2 * Math . E )
294309 } )
@@ -337,7 +352,7 @@ describe('parse', function () {
337352
338353 assert . throws ( function ( ) { parseAndEval ( '0b123.45' ) } , / S y n t a x E r r o r : S t r i n g " 0 b 1 2 3 \. 4 5 " i s n o t a v a l i d n u m b e r / )
339354 assert . throws ( function ( ) { parseAndEval ( '0o89.89' ) } , / S y n t a x E r r o r : S t r i n g " 0 o 8 9 \. 8 9 " i s n o t a v a l i d n u m b e r / )
340- assert . throws ( function ( ) { parseAndEval ( '0xghji.xyz' ) } , / S y n t a x E r r o r : S t r i n g " 0 x " i s n o t a v a l i d n u m b e r / )
355+ assert . throws ( function ( ) { parseAndEval ( '0xghji.xyz' ) } , / S y n t a x E r r o r : S t r i n g " 0 x g h j i . x y z " i s n o t a v a l i d n u m b e r / )
341356 } )
342357 } )
343358
0 commit comments