34
34
import java .util .HashMap ;
35
35
import java .util .List ;
36
36
import java .util .Map ;
37
+ import java .util .Queue ;
37
38
import java .util .Set ;
38
39
import java .util .TreeSet ;
40
+ import java .util .concurrent .ConcurrentLinkedQueue ;
39
41
import java .util .stream .Collectors ;
40
42
import org .junit .After ;
41
43
import org .junit .AfterClass ;
@@ -210,8 +212,8 @@ public void testMain() throws IOException {
210
212
211
213
private class MyIndexChangeListener implements IndexChangedListener {
212
214
213
- List <String > files = new ArrayList <>();
214
- List <String > removedFiles = new ArrayList <>();
215
+ final Queue <String > files = new ConcurrentLinkedQueue <>();
216
+ final Queue <String > removedFiles = new ConcurrentLinkedQueue <>();
215
217
216
218
@ Override
217
219
public void fileAdd (String path , String analyzer ) {
@@ -232,12 +234,12 @@ public void fileUpdate(String path) {
232
234
233
235
@ Override
234
236
public void fileRemoved (String path ) {
235
- files .remove (path );
236
237
removedFiles .add (path );
237
238
}
238
239
239
240
public void reset () {
240
- this .files = new ArrayList <>();
241
+ this .files .clear ();
242
+ this .removedFiles .clear ();
241
243
}
242
244
}
243
245
@@ -291,8 +293,8 @@ public void testIndexWithSetIndexVersionedFilesOnly() throws Exception {
291
293
*/
292
294
private class RemoveIndexChangeListener implements IndexChangedListener {
293
295
294
- List <String > filesToAdd = new ArrayList <>();
295
- List <String > removedFiles = new ArrayList <>();
296
+ final Queue <String > filesToAdd = new ConcurrentLinkedQueue <>();
297
+ final Queue <String > removedFiles = new ConcurrentLinkedQueue <>();
296
298
297
299
@ Override
298
300
public void fileAdd (String path , String analyzer ) {
@@ -325,8 +327,8 @@ public void fileRemoved(String path) {
325
327
}
326
328
327
329
public void reset () {
328
- this .filesToAdd = new ArrayList <> ();
329
- this .removedFiles = new ArrayList <> ();
330
+ this .filesToAdd . clear ();
331
+ this .removedFiles . clear ();
330
332
}
331
333
}
332
334
@@ -378,7 +380,7 @@ public void testRemoveFileOnFileChange() throws Exception {
378
380
// Make sure that the file was actually processed.
379
381
assertEquals (1 , listener .removedFiles .size ());
380
382
assertEquals (1 , listener .filesToAdd .size ());
381
- assertEquals ("/mercurial/bar.txt" , listener .removedFiles .get ( 0 ));
383
+ assertEquals ("/mercurial/bar.txt" , listener .removedFiles .peek ( ));
382
384
383
385
testrepo .destroy ();
384
386
}
@@ -449,8 +451,11 @@ public void testIncrementalIndexAddRemoveFile() throws Exception {
449
451
assertEquals ("No new file added" , 1 , listener .files .size ());
450
452
repository .removeDummyFile (ppath );
451
453
idb .update (parallelizer );
452
- assertEquals ("Didn't remove the dummy file" , 0 , listener .files .size ());
454
+ assertEquals ("(added)files changed unexpectedly" , 1 ,
455
+ listener .files .size ());
453
456
assertEquals ("Didn't remove the dummy file" , 1 , listener .removedFiles .size ());
457
+ assertEquals ("Should have added then removed the same file" ,
458
+ listener .files .peek (), listener .removedFiles .peek ());
454
459
} else {
455
460
System .out .println ("Skipping test. Could not find a ctags I could use in path." );
456
461
}
0 commit comments