dmd/compiler/test/dub_package/lexer.d

33 lines
693 B
D
Executable file

#!/usr/bin/env dub
/+dub.sdl:
dependency "dmd" path="../../.."
+/
void main()
{
import dmd.globals;
import dmd.lexer;
import dmd.tokens;
import dmd.errorsink;
immutable expected = [
TOK.void_,
TOK.identifier,
TOK.leftParenthesis,
TOK.rightParenthesis,
TOK.leftCurly,
TOK.rightCurly
];
immutable sourceCode = "void test() {} // foobar";
scope lexer = new Lexer("test", sourceCode.ptr, 0, sourceCode.length, 0, 0, 0, new ErrorSinkStderr);
lexer.nextToken;
TOK[] result;
do
{
result ~= lexer.token.value;
} while (lexer.nextToken != TOK.endOfFile);
assert(result == expected);
}