1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.annotation;
20
21 import java.io.BufferedReader;
22 import java.io.File;
23 import java.io.FileReader;
24 import java.io.FileWriter;
25 import java.io.IOException;
26 import java.util.Random;
27
28 import junit.framework.TestCase;
29
30 public class TestLicenceAppender extends TestCase {
31
32 private Random random = new Random();
33
34 public void testAddLicenceToUnknownFile() throws IOException {
35 String filename = "tmp" + random.nextLong() + ".unkownTyoe";
36 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
37 FileWriter writer = new FileWriter(file);
38 writer.write("Unkown file type\n");
39 writer.close();
40
41 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
42 appender.append(file);
43
44 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
45 assertFalse("No new file should have been written", newFile.exists());
46 }
47
48 public void testAddLicenceToJava() throws IOException {
49 String filename = "tmp.java";
50 String firstLine = "package foo;";
51 String secondLine = "/*";
52
53 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
54 FileWriter writer = new FileWriter(file);
55 writer.write(firstLine + "\n");
56 writer.write("\n");
57 writer.write("public class test {\n");
58 writer.write("}\n");
59 writer.close();
60
61 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
62 appender.append(file);
63
64 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
65 BufferedReader reader = new BufferedReader(new FileReader(newFile));
66 String line = reader.readLine();
67 assertEquals("First line is incorrect", firstLine, line);
68 line = reader.readLine();
69 assertEquals("Second line is incorrect", secondLine, line);
70
71 file.delete();
72 newFile.delete();
73 }
74
75 public void testAddLicenceToXML() throws IOException {
76 String filename = "tmp.xml";
77 String firstLine = "<?xml version='1.0'?>";
78 String secondLine = "<!--";
79
80 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
81 FileWriter writer = new FileWriter(file);
82 writer.write(firstLine + "\n");
83 writer.write("\n");
84 writer.write("<xml>\n");
85 writer.write("</xml>\n");
86 writer.close();
87
88 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
89 appender.append(file);
90
91 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
92
93 BufferedReader reader = new BufferedReader(new FileReader(newFile));
94 String line = reader.readLine();
95 assertEquals("First line is incorrect", firstLine, line);
96 line = reader.readLine();
97 assertEquals("Second line is incorrect", secondLine, line);
98
99 file.delete();
100 newFile.delete();
101 }
102 public void testAddLicenceToHTML() throws IOException {
103 String filename = "tmp.html";
104 String commentLine = "<!--";
105
106 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
107 FileWriter writer = new FileWriter(file);
108 writer.write("<html>\n");
109 writer.write("\n");
110 writer.write("</html>\n");
111 writer.close();
112
113 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
114 appender.append(file);
115
116 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
117
118 BufferedReader reader = new BufferedReader(new FileReader(newFile));
119 String line = reader.readLine();
120 assertEquals("First line is incorrect", commentLine, line);
121
122 file.delete();
123 newFile.delete();
124 }
125
126 public void testAddLicenceToCSS() throws IOException {
127 String filename = "tmp.css";
128 String firstLine = "/*";
129
130 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
131 FileWriter writer = new FileWriter(file);
132 writer.write(".class {\n");
133 writer.write(" background-color: red;");
134 writer.write("}\n");
135 writer.close();
136
137 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
138 appender.append(file);
139
140 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
141
142 BufferedReader reader = new BufferedReader(new FileReader(newFile));
143 String line = reader.readLine();
144 assertEquals("First line is incorrect", firstLine, line);
145
146 file.delete();
147 newFile.delete();
148 }
149
150 public void testAddLicenceToJavascript() throws IOException {
151 String filename = "tmp.js";
152 String firstLine = "/*";
153
154 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
155 FileWriter writer = new FileWriter(file);
156 writer.write("if (a ==b) {>\n");
157 writer.write(" alert(\"how useful!\");");
158 writer.write("}\n");
159 writer.close();
160
161 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
162 appender.append(file);
163
164 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
165
166 BufferedReader reader = new BufferedReader(new FileReader(newFile));
167 String line = reader.readLine();
168 assertEquals("First line is incorrect", firstLine, line);
169
170 file.delete();
171 newFile.delete();
172 }
173
174 public void testAddLicenceToAPT() throws IOException {
175 String filename = "tmp.apt";
176 String firstLine = "~~";
177
178 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
179 FileWriter writer = new FileWriter(file);
180 writer.write("A Simple APT file");
181 writer.write(" This file contains nothing\n");
182 writer.write(" of any importance\n");
183 writer.close();
184
185 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
186 appender.append(file);
187
188 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
189
190 BufferedReader reader = new BufferedReader(new FileReader(newFile));
191 String line = reader.readLine();
192 assertEquals("First line is incorrect", firstLine, line);
193
194 file.delete();
195 newFile.delete();
196 }
197
198 public void testAddLicenceToProperties() throws IOException {
199 String filename = "tmp.properties";
200 String firstLine = "#";
201
202 File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);
203 FileWriter writer = new FileWriter(file);
204 writer.write("property = value\n");
205 writer.write("fun = true\n");
206 writer.write("cool = true\n");
207 writer.close();
208
209 ApacheV2LicenceAppender appender = new ApacheV2LicenceAppender();
210 appender.append(file);
211
212 File newFile = new File(System.getProperty("java.io.tmpdir") + File.separator + filename + ".new");
213
214 BufferedReader reader = new BufferedReader(new FileReader(newFile));
215 String line = reader.readLine();
216 assertEquals("First line is incorrect", firstLine, line);
217
218 file.delete();
219 newFile.delete();
220 }
221 }