@@ -88,15 +88,43 @@ mod test {
8888 "# ;
8989
9090 let expect_token = vec ! [
91- Token :: new ( Tokenkind :: Assign , String :: from( "=" ) ) ,
92- Token :: new ( Tokenkind :: Plus , String :: from( "+" ) ) ,
93- Token :: new ( Tokenkind :: Lparen , String :: from( "(" ) ) ,
94- Token :: new ( Tokenkind :: Rparen , String :: from( ")" ) ) ,
95- Token :: new ( Tokenkind :: Lbrace , String :: from( "{" ) ) ,
96- Token :: new ( Tokenkind :: Rbrace , String :: from( "}" ) ) ,
97- Token :: new ( Tokenkind :: Comma , String :: from( "," ) ) ,
98- Token :: new ( Tokenkind :: Semicolon , String :: from( ";" ) ) ,
99- Token :: new ( Tokenkind :: Eof , String :: new( ) ) , // Eof token
91+ Token :: new( Tokenkind :: Let , String :: from( "let" ) ) ,
92+ Token :: new( Tokenkind :: Ident , String :: from( "five" ) ) ,
93+ Token :: new( Tokenkind :: Assign , String :: from( "=" ) ) ,
94+ Token :: new( Tokenkind :: Int , String :: from( "5" ) ) ,
95+ Token :: new( Tokenkind :: Semicolon , String :: from( ";" ) ) ,
96+ Token :: new( Tokenkind :: Let , String :: from( "let" ) ) ,
97+ Token :: new( Tokenkind :: Ident , String :: from( "ten" ) ) ,
98+ Token :: new( Tokenkind :: Assign , String :: from( "=" ) ) ,
99+ Token :: new( Tokenkind :: Int , String :: from( "10" ) ) ,
100+ Token :: new( Tokenkind :: Semicolon , String :: from( ";" ) ) ,
101+ Token :: new( Tokenkind :: Let , String :: from( "let" ) ) ,
102+ Token :: new( Tokenkind :: Ident , String :: from( "add" ) ) ,
103+ Token :: new( Tokenkind :: Assign , String :: from( "=" ) ) ,
104+ Token :: new( Tokenkind :: Function , String :: from( "fn" ) ) ,
105+ Token :: new( Tokenkind :: Lparen , String :: from( "(" ) ) ,
106+ Token :: new( Tokenkind :: Ident , String :: from( "x" ) ) ,
107+ Token :: new( Tokenkind :: Comma , String :: from( "," ) ) ,
108+ Token :: new( Tokenkind :: Ident , String :: from( "y" ) ) ,
109+ Token :: new( Tokenkind :: Rparen , String :: from( ")" ) ) ,
110+ Token :: new( Tokenkind :: Lbrace , String :: from( "{" ) ) ,
111+ Token :: new( Tokenkind :: Ident , String :: from( "x" ) ) ,
112+ Token :: new( Tokenkind :: Plus , String :: from( "+" ) ) ,
113+ Token :: new( Tokenkind :: Ident , String :: from( "y" ) ) ,
114+ Token :: new( Tokenkind :: Semicolon , String :: from( ";" ) ) ,
115+ Token :: new( Tokenkind :: Rbrace , String :: from( "}" ) ) ,
116+ Token :: new( Tokenkind :: Semicolon , String :: from( ";" ) ) ,
117+ Token :: new( Tokenkind :: Let , String :: from( "let" ) ) ,
118+ Token :: new( Tokenkind :: Ident , String :: from( "result" ) ) ,
119+ Token :: new( Tokenkind :: Assign , String :: from( "=" ) ) ,
120+ Token :: new( Tokenkind :: Ident , String :: from( "add" ) ) ,
121+ Token :: new( Tokenkind :: Lparen , String :: from( "(" ) ) ,
122+ Token :: new( Tokenkind :: Ident , String :: from( "five" ) ) ,
123+ Token :: new( Tokenkind :: Comma , String :: from( "," ) ) ,
124+ Token :: new( Tokenkind :: Ident , String :: from( "ten" ) ) ,
125+ Token :: new( Tokenkind :: Rparen , String :: from( ")" ) ) ,
126+ Token :: new( Tokenkind :: Semicolon , String :: from( ";" ) ) ,
127+ Token :: new( Tokenkind :: Eof , String :: new( ) ) ,
100128 ] ;
101129 let mut lexer = Lexer :: new ( input) ;
102130 for ( idx, exp_token) in expect_token. iter ( ) . enumerate ( ) {
0 commit comments