Some tests for exact numbers; adding sign after exact specifier
This commit is contained in:
parent
00d8380eac
commit
b00615a7b6
1 changed files with 11 additions and 0 deletions
|
@ -229,6 +229,11 @@ impl Lexer {
|
|||
self.state = State::Hash;
|
||||
self.advance();
|
||||
}
|
||||
else if let Some(sign) = Sign::from_char(c) {
|
||||
self.number_builder.sign(sign);
|
||||
self.state = State::NumberSign;
|
||||
self.advance();
|
||||
}
|
||||
else if c.is_digit(self.number_builder.radix_value()) {
|
||||
self.number_builder.extend_value(c);
|
||||
self.state = State::Number;
|
||||
|
@ -452,6 +457,12 @@ mod tests {
|
|||
check_single_token("#o45", Token::Number(Number::from_int(0o45)));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn finds_exact_numbers() {
|
||||
check_single_token("#e45", Token::Number(Number::from_int(45)));
|
||||
check_single_token("#e-45", Token::Number(Number::from_int(-45)));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn finds_hex_numbers() {
|
||||
check_single_token("#h4A65", Token::Number(Number::from_int(0x4A65)));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue