@@ -361,6 +361,7 @@ fn operator_to_token<D: Dealloc>(s: String) -> Option<JsonToken<D>> {
361361} 
362362
363363const  WHITE_SPACE_CHARS :  [ char ;  4 ]  = [ ' ' ,  '\n' ,  '\t' ,  '\r' ] ; 
364+ const  NEW_LINE_CHARS :  [ char ;  2 ]  = [ '\n' ,  '\r' ] ; 
364365const  OPERATOR_CHARS :  [ char ;  10 ]  = [ '{' ,  '}' ,  '[' ,  ']' ,  ':' ,  ',' ,  '=' ,  ';' ,  '(' ,  ')' ] ; 
365366
366367fn  id_start ( )  -> Vec < RangeInclusive < char > >  { 
@@ -961,7 +962,7 @@ fn create_singleline_comment_transactions<M: Manager>() -> TransitionMap<(), M>
961962    type  Func < M >  = TransitionFunc < M ,  ( ) > ; 
962963    TransitionMap  { 
963964        def :  ( |_,  _,  _,  _| ( default ( ) ,  TokenizerState :: ParseSinglelineComment ) )  as  Func < M > , 
964-         rm :  create_range_map ( set ( WHITE_SPACE_CHARS ) ,  |_,  _,  _,  _| { 
965+         rm :  create_range_map ( set ( NEW_LINE_CHARS ) ,  |_,  _,  _,  _| { 
965966            ( default ( ) ,  TokenizerState :: ParseNewLine ) 
966967        } ) , 
967968    } 
@@ -1524,6 +1525,19 @@ mod test {
15241525        let  result = tokenize ( GLOBAL ,  String :: from ( "0//abc/*" ) ) ; 
15251526        assert_eq ! ( & result,  & [ JsonToken :: Number ( 0.0 ) , ] ) ; 
15261527
1528+         let  result = tokenize ( GLOBAL ,  String :: from ( "0//abc 1" ) ) ; 
1529+         assert_eq ! ( & result,  & [ JsonToken :: Number ( 0.0 ) ] ) ; 
1530+ 
1531+         let  result = tokenize ( GLOBAL ,  String :: from ( "0//abc\n 1" ) ) ; 
1532+         assert_eq ! ( 
1533+             & result, 
1534+             & [ 
1535+                 JsonToken :: Number ( 0.0 ) , 
1536+                 JsonToken :: NewLine , 
1537+                 JsonToken :: Number ( 1.0 ) 
1538+             ] 
1539+         ) ; 
1540+ 
15271541        let  result = tokenize ( GLOBAL ,  String :: from ( "0//" ) ) ; 
15281542        assert_eq ! ( & result,  & [ JsonToken :: Number ( 0.0 ) , ] ) ; 
15291543
0 commit comments