UNPKG

@ryusei/light

Version:

<div align="center"> <a href="https://light.ryuseijs.com"> <img alt="RyuseiLight" src="https://light.ryuseijs.com/images/svg/logo.svg" width="70"> </a>

53 lines (49 loc) 1.14 kB
import { CATEGORY_BRACKET, CATEGORY_NUMBER, CATEGORY_OPERATOR, CATEGORY_PROPERTY, CATEGORY_TEXT, } from '../../../constants/categories'; describe( 'json', () => { test( 'can tokenize numbers.', () => { [ 1, -1, 1.23, -1.23, 1e10, 1e+10, 1E+10, 1e-10, 1E-10, 1.2e10, 1.2e+10, 1.2E+10, 1.2e-10, 1.2E-10, ].forEach( number => { expect( `{ "number": ${ number } }` ).toBeTokenized( 'json', [ [ CATEGORY_BRACKET, '{' ], [ CATEGORY_PROPERTY, '"number"' ], [ CATEGORY_OPERATOR, ':' ], [ CATEGORY_NUMBER, String( number ) ], [ CATEGORY_BRACKET, '}' ], ] ); } ); } ); test( 'should not tokenize invalid numbers.', () => { [ ".23", ].forEach( number => { expect( `{ "number": ${ number } }` ).toBeTokenized( 'json', [ [ CATEGORY_BRACKET, '{' ], [ CATEGORY_PROPERTY, '"number"' ], [ CATEGORY_OPERATOR, ':' ], [ CATEGORY_TEXT, '.' ], [ CATEGORY_NUMBER, '23' ], [ CATEGORY_BRACKET, '}' ], ] ); } ); } ); } );