Commit 2c8d3ac2 authored by Mukund Sivaraman's avatar Mukund Sivaraman
Browse files

[2369] Check saveLine() + ungetAll()

parent a6093a8e
......@@ -168,4 +168,36 @@ TEST_F(InputSourceTest, lines) {
EXPECT_EQ(1, source_.getCurrentLine());
}
// ungetAll() after saveLine() should skip back to the last-saved place.
TEST_F(InputSourceTest, saveLine) {
// First, skip to line 2.
while (!source_.atEOF() &&
(source_.getCurrentLine() != 2)) {
source_.getChar();
}
EXPECT_FALSE(source_.atEOF());
size_t line = source_.getCurrentLine();
EXPECT_EQ(2, line);
// Now, save the line.
source_.saveLine();
// Now, go to EOF
while (!source_.atEOF()) {
source_.getChar();
}
line = source_.getCurrentLine();
// Now, we are at EOF.
EXPECT_TRUE(source_.atEOF());
EXPECT_EQ(4, line);
// Now, ungetAll() and check where it goes back.
source_.ungetAll();
// Now we are back to where we last-saved.
EXPECT_EQ(2, source_.getCurrentLine());
EXPECT_FALSE(source_.atEOF());
}
} // end namespace
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment