Lexer: Skipping whitespace on ::readWord at SOL was a mistake
This commit is contained in:
@@ -1324,11 +1324,6 @@ bool Lexer::readWord (
|
||||
{
|
||||
std::string::size_type eos = text.length ();
|
||||
|
||||
// Skip initial whitespace.
|
||||
while (cursor <= eos &&
|
||||
Lexer::isWhitespace(text[cursor]))
|
||||
++cursor;
|
||||
|
||||
word = "";
|
||||
int c;
|
||||
while ((c = text[cursor]))
|
||||
|
||||
@@ -243,8 +243,10 @@ int main (int argc, char** argv)
|
||||
cursor = 0;
|
||||
t.ok (Lexer::readWord (text, cursor, word), "readWord \"one 'two' three\\ four\" --> true");
|
||||
t.is (word, "one", " word '" + word + "'");
|
||||
cursor++;
|
||||
t.ok (Lexer::readWord (text, cursor, word), "readWord \"one 'two' three\\ four\" --> true");
|
||||
t.is (word, "'two'", " word '" + word + "'");
|
||||
cursor++;
|
||||
t.ok (Lexer::readWord (text, cursor, word), "readWord \"one 'two' three\\ four\" --> true");
|
||||
t.is (word, "three four", " word '" + word + "'");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user