diff options
Diffstat (limited to 'compiler/src/lexer/tests.rs')
| -rw-r--r-- | compiler/src/lexer/tests.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/src/lexer/tests.rs b/compiler/src/lexer/tests.rs index 89575c7..6f96c65 100644 --- a/compiler/src/lexer/tests.rs +++ b/compiler/src/lexer/tests.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | use crate::span::Pos; | 1 | use crate::span::Pos; |
| 2 | 2 | ||
| 3 | use super::Token::*; | 3 | use super::Token::*; |
| 4 | use super::*; | 4 | use super::{Lexer, Token}; |
| 5 | 5 | ||
| 6 | fn tokenize<'a>(input: &'a str) -> Vec<Token<'a>> { | 6 | fn tokenize<'a>(input: &'a str) -> Vec<Token<'a>> { |
| 7 | Lexer::new(input).map(|s| s.inner).collect() | 7 | Lexer::new(input).map(|s| s.inner).collect() |
| @@ -67,6 +67,9 @@ fn test_numbers() { | |||
| 67 | ("1e10", vec![Number("1e10")]), | 67 | ("1e10", vec![Number("1e10")]), |
| 68 | ("1.5e-3", vec![Number("1.5e-3")]), | 68 | ("1.5e-3", vec![Number("1.5e-3")]), |
| 69 | (".5", vec![Number(".5")]), | 69 | (".5", vec![Number(".5")]), |
| 70 | ("-.5", vec![Number("-.5")]), | ||
| 71 | ("+.5", vec![Number("+.5")]), | ||
| 72 | ("-.0", vec![Number("-.0")]), | ||
| 70 | ]; | 73 | ]; |
| 71 | for (code, tokens) in cases { | 74 | for (code, tokens) in cases { |
| 72 | assert_eq!(tokenize(code), tokens); | 75 | assert_eq!(tokenize(code), tokens); |
| @@ -149,6 +152,11 @@ fn test_ambiguous() { | |||
| 149 | ("+foo", vec![Symbol("+foo")]), | 152 | ("+foo", vec![Symbol("+foo")]), |
| 150 | ("...", vec![Symbol("...")]), | 153 | ("...", vec![Symbol("...")]), |
| 151 | (".foo", vec![Symbol(".foo")]), | 154 | (".foo", vec![Symbol(".foo")]), |
| 155 | ("-.", vec![Symbol("-.")]), | ||
| 156 | ("+.", vec![Symbol("+.")]), | ||
| 157 | (".", vec![Symbol(".")]), | ||
| 158 | ("+.a", vec![Symbol("+.a")]), | ||
| 159 | ("-.a", vec![Symbol("-.a")]), | ||
| 152 | ]; | 160 | ]; |
| 153 | for (code, tokens) in cases { | 161 | for (code, tokens) in cases { |
| 154 | assert_eq!(tokenize(code), tokens); | 162 | assert_eq!(tokenize(code), tokens); |
