@Test public final void testEscapedEscape() { RegExLexer l = new RegExLexer("a\\\\ b"); assertTrue(l.hasNext()); assertEquals("a\\\\", l.peek()); assertEquals("a\\\\", l.next()); assertTrue(l.hasNext()); assertEquals("b", l.peek()); assertEquals("b", l.next()); assertFalse(l.hasNext()); }
@Test public final void testEndWithWhitespace() { RegExLexer l = new RegExLexer("a\\ b"); assertTrue(l.hasNext()); assertEquals("a ", l.peek()); assertEquals("a ", l.next()); assertTrue(l.hasNext()); assertEquals("b", l.peek()); assertEquals("b", l.next()); assertFalse(l.hasNext()); }
@Test public final void testBasicIteration() { RegExLexer l = new RegExLexer("a b"); assertEquals(0, l.offset()); assertTrue(l.hasNext()); assertEquals("a", l.peek()); assertEquals(0, l.offset()); assertEquals("a", l.next()); assertEquals(3, l.offset()); assertTrue(l.hasNext()); assertEquals("b", l.peek()); assertEquals(3, l.offset()); assertEquals("b", l.next()); assertEquals(4, l.offset()); assertFalse(l.hasNext()); }