KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > java2html > javasource > test > JavaSourceIteratorTest


1 package de.java2html.javasource.test;
2
3 import java.io.IOException JavaDoc;
4 import java.util.NoSuchElementException JavaDoc;
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 JavaDoc{
14     JavaSource source = JavaSourceParserTestCase.doParse(""); //$NON-NLS-1$
15
JavaSourceIterator iterator = source.getIterator();
16     assertFalse(iterator.hasNext());
17   }
18
19   public void testFirstIsNewLine() throws IOException JavaDoc{
20     JavaSource source = JavaSourceParserTestCase.doParse("\na"); //$NON-NLS-1$
21
JavaSourceIterator iterator = source.getIterator();
22     
23     assertTrue(iterator.hasNext());
24     JavaSourceRun run = iterator.getNext();
25 //run.dump();
26
assertEquals("", run.getCode()); //$NON-NLS-1$
27
assertTrue(run.isAtStartOfLine());
28     assertTrue(run.isAtEndOfLine());
29     assertEquals(JavaSourceType.BACKGROUND, run.getType());
30
31     assertTrue(iterator.hasNext());
32     run = iterator.getNext();
33 //run.dump();
34
assertEquals("a", run.getCode()); //$NON-NLS-1$
35
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 JavaDoc{
42     JavaSource source = JavaSourceParserTestCase.doParse("a"); //$NON-NLS-1$
43
JavaSourceIterator iterator = source.getIterator();
44     
45     assertTrue(iterator.hasNext());
46     JavaSourceRun run = iterator.getNext();
47   
48     assertEquals("a", run.getCode()); //$NON-NLS-1$
49
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 JavaDoc expected){
58       //expected
59
}
60   }
61
62 // public void testSingleLineBreak() throws IOException{
63
// JavaSource source = JavaSourceParserTest.doParse("a\n");
64
// assertEquals("a\r\n", source.getCode());
65
//
66
// JavaSourceIterator iterator = source.getIterator();
67
//
68
// assertTrue(iterator.hasNext());
69
// JavaSourceRun run = iterator.getNext();
70
//run.dump();
71
// assertEquals("a", run.getCode());
72
// assertTrue(run.isAtStartOfLine());
73
// assertTrue(run.isAtEndOfLine());
74
// assertEquals(JavaSourceType.CODE, run.getType());
75
//
76
// assertTrue(iterator.hasNext());
77
// run = iterator.getNext();
78
// run.dump();
79
//
80
// assertEquals("", run.getCode());
81
// assertTrue(run.isAtStartOfLine());
82
// assertTrue(run.isAtEndOfLine());
83
// assertEquals(JavaSourceType.CODE, run.getType());
84
//
85
// assertTrue(iterator.hasNext());
86
// run = iterator.getNext();
87
// run.dump();
88
//
89
// assertEquals("", run.getCode());
90
// assertTrue(run.isAtStartOfLine());
91
// assertTrue(run.isAtEndOfLine());
92
// assertEquals(JavaSourceType.CODE, run.getType());
93
//
94
// assertFalse(iterator.hasNext());
95
// }
96

97
98   public void testTwoLines() throws IOException JavaDoc{
99     JavaSource source = JavaSourceParserTestCase.doParse("a\nb"); //$NON-NLS-1$
100
JavaSourceIterator iterator = source.getIterator();
101
102     JavaSourceRun run = iterator.getNext();
103
104 //run.dump();
105
assertEquals("a", run.getCode()); //$NON-NLS-1$
106
assertTrue(run.isAtStartOfLine());
107     assertTrue(run.isAtEndOfLine());
108     assertEquals(JavaSourceType.CODE, run.getType());
109     
110     assertTrue(iterator.hasNext());
111     run = iterator.getNext();
112
113 //run.dump();
114
assertEquals("b", run.getCode()); //$NON-NLS-1$
115
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 JavaDoc{
125     JavaSource source = JavaSourceParserTestCase.doParse("public String text =\"test\";"); //$NON-NLS-1$
126

127     JavaSourceIterator iterator = source.getIterator();
128     
129     assertTrue(iterator.hasNext());
130     JavaSourceRun run = iterator.getNext();
131     
132 // run.dump();
133
assertEquals("public ", run.getCode()); //$NON-NLS-1$
134
assertTrue(run.isAtStartOfLine());
135     assertFalse(run.isAtEndOfLine());
136     assertEquals(JavaSourceType.KEYWORD, run.getType());
137
138     assertTrue(iterator.hasNext());
139     run = iterator.getNext();
140 // run.dump();
141
assertEquals("String text =", run.getCode()); //$NON-NLS-1$
142
assertFalse(run.isAtStartOfLine());
143     assertFalse(run.isAtEndOfLine());
144     assertEquals(JavaSourceType.CODE, run.getType());
145
146     assertTrue(iterator.hasNext());
147     run = iterator.getNext();
148
149 // run.dump();
150
assertEquals("\"test\"", run.getCode()); //$NON-NLS-1$
151
assertFalse(run.isAtStartOfLine());
152     assertFalse(run.isAtEndOfLine());
153     assertEquals(JavaSourceType.STRING, run.getType());
154
155     assertTrue(iterator.hasNext());
156     run = iterator.getNext();
157
158 // run.dump();
159
assertEquals(";", run.getCode()); //$NON-NLS-1$
160
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 JavaDoc{
169     JavaSource source = JavaSourceParserTestCase.doParse("public\n\ntest"); //$NON-NLS-1$
170
JavaSourceIterator iterator = source.getIterator();
171     
172     JavaSourceRun run = iterator.getNext();
173 //run.dump();
174
assertEquals("public", run.getCode()); //$NON-NLS-1$
175

176     run = iterator.getNext();
177 //run.dump();
178
assertEquals("", run.getCode()); //$NON-NLS-1$
179

180     run = iterator.getNext();
181     assertEquals("test", run.getCode()); //$NON-NLS-1$
182

183     assertFalse(iterator.hasNext());
184   }
185 }
Popular Tags