1 package de.java2html.javasource.test; 2 3 import java.io.IOException ; 4 import java.util.NoSuchElementException ; 5 6 import de.java2html.javasource.JavaSource; 7 import de.java2html.javasource.JavaSourceIterator; 8 import de.java2html.javasource.JavaSourceRun; 9 import de.java2html.javasource.JavaSourceType; 10 import junit.framework.TestCase; 11 12 public class JavaSourceIteratorTest extends TestCase { 13 public void testEmpty() throws IOException { 14 JavaSource source = JavaSourceParserTestCase.doParse(""); JavaSourceIterator iterator = source.getIterator(); 16 assertFalse(iterator.hasNext()); 17 } 18 19 public void testFirstIsNewLine() throws IOException { 20 JavaSource source = JavaSourceParserTestCase.doParse("\na"); JavaSourceIterator iterator = source.getIterator(); 22 23 assertTrue(iterator.hasNext()); 24 JavaSourceRun run = iterator.getNext(); 25 assertEquals("", run.getCode()); assertTrue(run.isAtStartOfLine()); 28 assertTrue(run.isAtEndOfLine()); 29 assertEquals(JavaSourceType.BACKGROUND, run.getType()); 30 31 assertTrue(iterator.hasNext()); 32 run = iterator.getNext(); 33 assertEquals("a", run.getCode()); assertTrue(run.isAtStartOfLine()); 36 assertTrue(run.isAtEndOfLine()); 37 assertEquals(JavaSourceType.CODE, run.getType()); 38 assertFalse(iterator.hasNext()); 39 } 40 41 public void testSingle() throws IOException { 42 JavaSource source = JavaSourceParserTestCase.doParse("a"); JavaSourceIterator iterator = source.getIterator(); 44 45 assertTrue(iterator.hasNext()); 46 JavaSourceRun run = iterator.getNext(); 47 48 assertEquals("a", run.getCode()); assertTrue(run.isAtStartOfLine()); 50 assertTrue(run.isAtEndOfLine()); 51 assertEquals(JavaSourceType.CODE, run.getType()); 52 53 assertFalse(iterator.hasNext()); 54 try{ 55 iterator.next(); 56 fail(); 57 }catch(NoSuchElementException expected){ 58 } 60 } 61 62 97 98 public void testTwoLines() throws IOException { 99 JavaSource source = JavaSourceParserTestCase.doParse("a\nb"); JavaSourceIterator iterator = source.getIterator(); 101 102 JavaSourceRun run = iterator.getNext(); 103 104 assertEquals("a", run.getCode()); assertTrue(run.isAtStartOfLine()); 107 assertTrue(run.isAtEndOfLine()); 108 assertEquals(JavaSourceType.CODE, run.getType()); 109 110 assertTrue(iterator.hasNext()); 111 run = iterator.getNext(); 112 113 assertEquals("b", run.getCode()); assertTrue(run.isAtStartOfLine()); 116 assertTrue(run.isAtEndOfLine()); 117 assertEquals(JavaSourceType.CODE, run.getType()); 118 119 assertFalse(iterator.hasNext()); 120 } 121 122 123 124 public void test1() throws IOException { 125 JavaSource source = JavaSourceParserTestCase.doParse("public String text =\"test\";"); 127 JavaSourceIterator iterator = source.getIterator(); 128 129 assertTrue(iterator.hasNext()); 130 JavaSourceRun run = iterator.getNext(); 131 132 assertEquals("public ", run.getCode()); assertTrue(run.isAtStartOfLine()); 135 assertFalse(run.isAtEndOfLine()); 136 assertEquals(JavaSourceType.KEYWORD, run.getType()); 137 138 assertTrue(iterator.hasNext()); 139 run = iterator.getNext(); 140 assertEquals("String text =", run.getCode()); assertFalse(run.isAtStartOfLine()); 143 assertFalse(run.isAtEndOfLine()); 144 assertEquals(JavaSourceType.CODE, run.getType()); 145 146 assertTrue(iterator.hasNext()); 147 run = iterator.getNext(); 148 149 assertEquals("\"test\"", run.getCode()); assertFalse(run.isAtStartOfLine()); 152 assertFalse(run.isAtEndOfLine()); 153 assertEquals(JavaSourceType.STRING, run.getType()); 154 155 assertTrue(iterator.hasNext()); 156 run = iterator.getNext(); 157 158 assertEquals(";", run.getCode()); assertFalse(run.isAtStartOfLine()); 161 assertTrue(run.isAtEndOfLine()); 162 assertEquals(JavaSourceType.CODE, run.getType()); 163 164 165 assertFalse(iterator.hasNext()); 166 } 167 168 public void testEmptyLinesAreEmptyRuns() throws IOException { 169 JavaSource source = JavaSourceParserTestCase.doParse("public\n\ntest"); JavaSourceIterator iterator = source.getIterator(); 171 172 JavaSourceRun run = iterator.getNext(); 173 assertEquals("public", run.getCode()); 176 run = iterator.getNext(); 177 assertEquals("", run.getCode()); 180 run = iterator.getNext(); 181 assertEquals("test", run.getCode()); 183 assertFalse(iterator.hasNext()); 184 } 185 } | Popular Tags |