Author: ggregory Date: Tue Aug 13 13:17:59 2013 New Revision: 1513473 URL: http://svn.apache.org/r1513473 Log: [VFS-489][tests] ProviderWriteTests#testListener does not fail cleanly. Thanks to Bernd Eckenfels.
Modified: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/ProviderWriteTests.java commons/proper/vfs/trunk/src/changes/changes.xml Modified: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/ProviderWriteTests.java URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/ProviderWriteTests.java?rev=1513473&r1=1513472&r2=1513473&view=diff ============================================================================== --- commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/ProviderWriteTests.java (original) +++ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/ProviderWriteTests.java Tue Aug 13 13:17:59 2013 @@ -582,51 +582,55 @@ public class ProviderWriteTests final FileSystem fs = baseFile.getFileSystem(); final TestListener listener = new TestListener(child); fs.addListener(child, listener); + try + { + // Create as a folder + listener.addCreateEvent(); + child.createFolder(); + listener.assertFinished(); + + // Create the folder again. Should not get an event. + child.createFolder(); + + // Delete + listener.addDeleteEvent(); + child.delete(); + listener.assertFinished(); + + // Delete again. Should not get an event + child.delete(); + + // Create as a file + listener.addCreateEvent(); + child.createFile(); + listener.assertFinished(); + + // Create the file again. Should not get an event + child.createFile(); + + listener.addDeleteEvent(); + child.delete(); + + // Create as a file, by writing to it. + listener.addCreateEvent(); + child.getContent().getOutputStream().close(); + listener.assertFinished(); + + // Recreate the file by writing to it + child.getContent().getOutputStream().close(); + + // Copy another file over the top + final FileObject otherChild = baseFile.resolveFile("folder1"); + otherChild.createFolder(); + listener.addDeleteEvent(); + listener.addCreateEvent(); + child.copyFrom(otherChild, Selectors.SELECT_SELF); + listener.assertFinished(); - // Create as a folder - listener.addCreateEvent(); - child.createFolder(); - listener.assertFinished(); - - // Create the folder again. Should not get an event. - child.createFolder(); - - // Delete - listener.addDeleteEvent(); - child.delete(); - listener.assertFinished(); - - // Delete again. Should not get an event - child.delete(); - - // Create as a file - listener.addCreateEvent(); - child.createFile(); - listener.assertFinished(); - - // Create the file again. Should not get an event - child.createFile(); - - listener.addDeleteEvent(); - child.delete(); - - // Create as a file, by writing to it. - listener.addCreateEvent(); - child.getContent().getOutputStream().close(); - listener.assertFinished(); - - // Recreate the file by writing to it - child.getContent().getOutputStream().close(); - - // Copy another file over the top - final FileObject otherChild = baseFile.resolveFile("folder1"); - otherChild.createFolder(); - listener.addDeleteEvent(); - listener.addCreateEvent(); - child.copyFrom(otherChild, Selectors.SELECT_SELF); - listener.assertFinished(); - - fs.removeListener(child, listener); + } + finally + { + fs.removeListener(child, listener);} } /** Modified: commons/proper/vfs/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/changes/changes.xml?rev=1513473&r1=1513472&r2=1513473&view=diff ============================================================================== --- commons/proper/vfs/trunk/src/changes/changes.xml (original) +++ commons/proper/vfs/trunk/src/changes/changes.xml Tue Aug 13 13:17:59 2013 @@ -26,6 +26,9 @@ <!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> --> <!-- [Local] Need an easy way to convert from a FileObject to a File. --> <!-- </action> --> + <action issue="VFS-489" dev="ggregory" type="fix" due-to="Bernd Eckenfels"> + [tests] ProviderWriteTests#testListener does not fail cleanly. + </action> <action issue="VFS-486" dev="ggregory" type="fix" due-to="Sam Haldane"> DefaultFileMonitor sleeps for twice the specified delay when checkPerRun > 0. </action>