Add simple test for glsl-new lexer

This commit is contained in:
Pelle Johnsen
2020-07-02 05:54:28 +00:00
committed by Dzmitry Malyshau
parent 7d5bc0b2e2
commit aa70703fee
2 changed files with 39 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
use super::lex::Lexer;
use super::parser::Token;
#[test]
fn glsl_lex_simple() {
let source = "void main() {\n}";
let lex = Lexer::new(source);
let tokens: Vec<Token> = lex.collect();
assert_eq!(tokens.len(), 6);
let mut iter = tokens.iter();
assert_eq!(
format!("{:?}", iter.next().unwrap()),
"Void(TokenMetadata { line: 0, chars: 0..4 })"
);
assert_eq!(
format!("{:?}", iter.next().unwrap()),
"Identifier((TokenMetadata { line: 0, chars: 5..9 }, \"main\"))"
);
assert_eq!(
format!("{:?}", iter.next().unwrap()),
"LeftParen(TokenMetadata { line: 0, chars: 9..10 })"
);
assert_eq!(
format!("{:?}", iter.next().unwrap()),
"RightParen(TokenMetadata { line: 0, chars: 10..11 })"
);
assert_eq!(
format!("{:?}", iter.next().unwrap()),
"LeftBrace(TokenMetadata { line: 0, chars: 12..13 })"
);
assert_eq!(
format!("{:?}", iter.next().unwrap()),
"RightBrace(TokenMetadata { line: 1, chars: 0..1 })"
);
}

View File

@@ -3,6 +3,9 @@ use crate::{
};
mod lex;
#[cfg(test)]
mod lex_tests;
use lex::Lexer;
mod error;
use error::ParseError;