diff 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
line wrap: on
line diff
--- a/src/dil/lexer/Lexer.d	Thu Mar 27 16:56:55 2008 +0200
+++ b/src/dil/lexer/Lexer.d	Sat Jun 07 14:05:28 2008 +0200
@@ -2851,20 +2851,17 @@
     else
       src ~= pair.tokenText ~ " ";
 
+  // Lex the constructed source text.
   auto lx = new Lexer(new SourceText("", src));
-  auto token = lx.getTokens();
+  lx.scanAll();
+
+  auto token = lx.firstToken();
 
-  uint i;
-  assert(token == lx.head);
-  assert(token.next.kind == TOK.Newline);
-  token = token.next.next;
-  do
-  {
-    assert(i < pairs.length);
-    assert(token.srcText == pairs[i].tokenText, Format("Scanned '{0}' but expected '{1}'", token.srcText, pairs[i].tokenText));
-    ++i;
-    token = token.next;
-  } while (token.kind != TOK.EOF)
+  for (uint i; i < pairs.length && token.kind != TOK.EOF;
+       ++i, (token = token.next))
+    if (token.srcText != pairs[i].tokenText)
+      assert(0, Format("Scanned '{0}' but expected '{1}'",
+                       token.srcText, pairs[i].tokenText));
 }
 
 /// Tests the Lexer's peek() method.