1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs.test;
18
19 import junit.framework.AssertionFailedError;
20 import org.apache.commons.vfs.Capability;
21 import org.apache.commons.vfs.FileObject;
22
23 /***
24 * Test cases for getting and setting file last modified time.
25 *
26 * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
27 * @version $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
28 */
29 public class LastModifiedTests
30 extends AbstractProviderTestCase
31 {
32 /***
33 * Returns the capabilities required by the tests of this test case.
34 */
35 protected Capability[] getRequiredCaps()
36 {
37 return new Capability[]{
38 Capability.GET_LAST_MODIFIED
39 };
40 }
41
42 /***
43 * Tests getting the last modified time of a file.
44 */
45 public void testGetLastModified() throws Exception
46 {
47
48 final FileObject file = getReadFolder().resolveFile("file1.txt");
49 file.getContent().getLastModifiedTime();
50
51
52
53
54
55 }
56
57 /***
58 * Tests setting the last modified time of file.
59 */
60 public void testSetLastModified() throws Exception
61 {
62 final long now = System.currentTimeMillis();
63
64 if (getReadFolder().getFileSystem().hasCapability(Capability.SET_LAST_MODIFIED_FILE))
65 {
66
67 final FileObject file = getReadFolder().resolveFile("file1.txt");
68 file.getContent().setLastModifiedTime(now);
69 try
70 {
71 assertEquals(now, file.getContent().getLastModifiedTime(), file.getFileSystem().getLastModTimeAccuracy());
72 }
73 catch (AssertionFailedError e)
74 {
75
76 if (file.getFileSystem().getLastModTimeAccuracy() < 1000L)
77 {
78 assertEquals(now, file.getContent().getLastModifiedTime(), 1000L);
79 }
80 else
81 {
82 throw e;
83 }
84 }
85 }
86
87 if (getReadFolder().getFileSystem().hasCapability(Capability.SET_LAST_MODIFIED_FOLDER))
88 {
89
90 final FileObject folder = getReadFolder().resolveFile("dir1");
91 folder.getContent().setLastModifiedTime(now);
92 try
93 {
94 assertEquals(now, folder.getContent().getLastModifiedTime(), folder.getFileSystem().getLastModTimeAccuracy());
95 }
96 catch (AssertionFailedError e)
97 {
98
99 if (folder.getFileSystem().getLastModTimeAccuracy() < 1000L)
100 {
101 assertEquals(now, folder.getContent().getLastModifiedTime(), 1000L);
102 }
103 else
104 {
105 throw e;
106 }
107 }
108 }
109 }
110 }