Mercurial > projects > dil
comparison src/dil/lexer/Lexer.d @ 826:d659f7aa055c
Fixed Lexer unittest.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Sat, 07 Jun 2008 14:05:28 +0200 |
parents | 372fa4fbbb1d |
children | 55c463c57d3a |
comparison
equal
deleted
inserted
replaced
825:51edcd435b30 | 826:d659f7aa055c |
---|---|
2849 src ~= pair.tokenText; | 2849 src ~= pair.tokenText; |
2850 } | 2850 } |
2851 else | 2851 else |
2852 src ~= pair.tokenText ~ " "; | 2852 src ~= pair.tokenText ~ " "; |
2853 | 2853 |
2854 // Lex the constructed source text. | |
2854 auto lx = new Lexer(new SourceText("", src)); | 2855 auto lx = new Lexer(new SourceText("", src)); |
2855 auto token = lx.getTokens(); | 2856 lx.scanAll(); |
2856 | 2857 |
2857 uint i; | 2858 auto token = lx.firstToken(); |
2858 assert(token == lx.head); | 2859 |
2859 assert(token.next.kind == TOK.Newline); | 2860 for (uint i; i < pairs.length && token.kind != TOK.EOF; |
2860 token = token.next.next; | 2861 ++i, (token = token.next)) |
2861 do | 2862 if (token.srcText != pairs[i].tokenText) |
2862 { | 2863 assert(0, Format("Scanned '{0}' but expected '{1}'", |
2863 assert(i < pairs.length); | 2864 token.srcText, pairs[i].tokenText)); |
2864 assert(token.srcText == pairs[i].tokenText, Format("Scanned '{0}' but expected '{1}'", token.srcText, pairs[i].tokenText)); | |
2865 ++i; | |
2866 token = token.next; | |
2867 } while (token.kind != TOK.EOF) | |
2868 } | 2865 } |
2869 | 2866 |
2870 /// Tests the Lexer's peek() method. | 2867 /// Tests the Lexer's peek() method. |
2871 unittest | 2868 unittest |
2872 { | 2869 { |