41
41
*/
42
42
public class GitHistoryParserTest {
43
43
44
+ private final String gitISODatePattern = "yyyy-MM-dd'T'HH:mm:ssXXX" ;
44
45
GitHistoryParser instance ;
45
46
private static TestRepository repository = new TestRepository ();
46
47
@@ -89,8 +90,8 @@ public void parseALaMemcached() throws Exception {
89
90
String commitId3 = "3asdfq234242871934g2sadfsa327894234sa2389" ;
90
91
String author1 = "username <username@asfdsaf-23412-sadf-cxvdsfg3123-sfasdf>" ;
91
92
String author2 = "username2 <username2@as345af-23412-sadf-cxvdsfg3123-sfasdf>" ;
92
- String date1 = "Sat, 1 Apr 2008 15 :12:51 +0000 " ;
93
- String date2 = "Wed, 22 Mar 2006 15 :23:15 +0000 " ;
93
+ String date1 = "2008-04-01T15 :12:51+00:00 " ;
94
+ String date2 = "2006-05-22T15 :23:15+00:00 " ;
94
95
String output =
95
96
"commit " + commitId1 + "\n " +
96
97
"Author: " + author1 + "\n " +
@@ -133,17 +134,17 @@ public void parseALaMemcached() throws Exception {
133
134
HistoryEntry e0 = result .getHistoryEntries ().get (0 );
134
135
assertEquals (commitId1 , e0 .getRevision ());
135
136
assertEquals (author1 , e0 .getAuthor ());
136
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date1 ), e0 .getDate ());
137
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date1 ), e0 .getDate ());
137
138
assertEquals (0 , e0 .getFiles ().size ());
138
139
HistoryEntry e1 = result .getHistoryEntries ().get (1 );
139
140
assertEquals (commitId2 , e1 .getRevision ());
140
141
assertEquals (author2 , e1 .getAuthor ());
141
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date2 ), e1 .getDate ());
142
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date2 ), e1 .getDate ());
142
143
assertEquals (0 , e1 .getFiles ().size ());
143
144
HistoryEntry e2 = result .getHistoryEntries ().get (2 );
144
145
assertEquals (commitId3 , e2 .getRevision ());
145
146
assertEquals (author1 , e2 .getAuthor ());
146
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date1 ), e2 .getDate ());
147
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date1 ), e2 .getDate ());
147
148
assertEquals (0 , e2 .getFiles ().size ());
148
149
}
149
150
@@ -158,7 +159,7 @@ public void parseALaGit() throws Exception {
158
159
String commitId2 = "2a2323487092314kjsdafsad7829342kjhsdf3289" ;
159
160
String author1 =
"username <[email protected] >" ;
160
161
String author2 =
"username2 <[email protected] >" ;
161
- String date1 = "Sun, 13 Jan 2008 01 :12:05 -0700 " ;
162
+ String date1 = "2008-01-13T01 :12:05-07:00 " ;
162
163
String filename = "filename.c" ;
163
164
164
165
String output = "commit " + commitId1 + "\n " +
@@ -199,15 +200,15 @@ public void parseALaGit() throws Exception {
199
200
HistoryEntry e0 = result .getHistoryEntries ().get (0 );
200
201
assertEquals (commitId1 , e0 .getRevision ());
201
202
assertEquals (author1 , e0 .getAuthor ());
202
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date1 ), e0 .getDate ());
203
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date1 ), e0 .getDate ());
203
204
assertEquals (1 , e0 .getFiles ().size ());
204
205
assertEquals ("/" + filename , e0 .getFiles ().first ());
205
206
assertTrue (e0 .getMessage ().contains ("Some heading" ));
206
207
assertTrue (e0 .getMessage ().contains ("Signed-off-by" ));
207
208
HistoryEntry e1 = result .getHistoryEntries ().get (1 );
208
209
assertEquals (commitId2 , e1 .getRevision ());
209
210
assertEquals (author2 , e1 .getAuthor ());
210
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date1 ), e1 .getDate ());
211
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date1 ), e1 .getDate ());
211
212
assertEquals (1 , e1 .getFiles ().size ());
212
213
assertEquals ("/" + filename , e1 .getFiles ().first ());
213
214
assertTrue (e1 .getMessage ().contains ("paragraph of text" ));
@@ -226,8 +227,8 @@ public void parseALaLK() throws Exception {
226
227
String author1 =
"username <[email protected] >" ;
227
228
String author2 =
"username2 <[email protected] >" ;
228
229
String committer =
"committer <[email protected] >" ;
229
- String date1 = "Sun, 13 Jan 2008 01 :12:05 -0700 " ;
230
- String date2 = "Mon, 14 Jan 2008 01 :12:05 -0800 " ;
230
+ String date1 = "2008-01-13T01 :12:05-07:00 " ;
231
+ String date2 = "2008-01-14T01 :12:05-08:00 " ;
231
232
String filename1 = "directory/filename.c" ;
232
233
String filename2 = "directory/filename.h" ;
233
234
@@ -286,15 +287,15 @@ public void parseALaLK() throws Exception {
286
287
HistoryEntry e0 = result .getHistoryEntries ().get (0 );
287
288
assertEquals (commitId1 , e0 .getRevision ());
288
289
assertEquals (author1 , e0 .getAuthor ());
289
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date1 ), e0 .getDate ());
290
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date1 ), e0 .getDate ());
290
291
assertEquals (1 , e0 .getFiles ().size ());
291
292
assertEquals ("/" + filename1 , e0 .getFiles ().first ());
292
293
assertTrue (e0 .getMessage ().contains ("subject title" ));
293
294
assertTrue (e0 .getMessage ().contains ("Signed-off-by" ));
294
295
HistoryEntry e1 = result .getHistoryEntries ().get (1 );
295
296
assertEquals (commitId2 , e1 .getRevision ());
296
297
assertEquals (author2 , e1 .getAuthor ());
297
- assertEquals (new SimpleDateFormat ("EE, d MMM yyyy HH:mm:ss Z" ).parse (date1 ), e1 .getDate ());
298
+ assertEquals (new SimpleDateFormat (gitISODatePattern ).parse (date1 ), e1 .getDate ());
298
299
assertEquals (2 , e1 .getFiles ().size ());
299
300
assertEquals ("/" + filename1 , e1 .getFiles ().first ());
300
301
assertEquals ("/" + filename2 , e1 .getFiles ().last ());
@@ -305,10 +306,8 @@ public void parseALaLK() throws Exception {
305
306
@ Test
306
307
public void testDateFormats () {
307
308
String [][] dates = new String [][]{
308
- new String []{"Sat, 1 Apr 2008 15:12:51 +0000" , "EE, d MMM yyyy HH:mm:ss Z" },
309
- new String []{"Sun, 02 Apr 2008 15:12:51 +0730" , "EE, d MMM yyyy HH:mm:ss Z" },
310
- new String []{"1 Apr 2008 15:12:51 +0300" , "d MMM yyyy HH:mm:ss Z" },
311
- new String []{"2 Apr 2008 15:12:51 GMT" , "d MMM yyyy HH:mm:ss Z" },};
309
+ new String []{"2017-07-25T13:17:44+02:00" , gitISODatePattern },
310
+ };
312
311
313
312
for (int i = 0 ; i < dates .length ; i ++) {
314
313
try {
@@ -340,9 +339,9 @@ public void testDateFormats() {
340
339
assertEquals ("The date " + parsedDate + " should be equal to the parsed date " + e0 .getDate (), parsedDate , e0 .getDate ());
341
340
assertEquals (0 , e0 .getFiles ().size ());
342
341
} catch (ParseException ex ) {
343
- fail ("Should not throw a parse exception" );
342
+ fail ("Should not throw a parse exception" + ex );
344
343
} catch (IOException ex ) {
345
- fail ("Should not throw an IO exception" );
344
+ fail ("Should not throw an IO exception" + ex );
346
345
}
347
346
}
348
347
}
0 commit comments