OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 /** @type {!MockVolumeManager} */ | |
6 var volumeManager; | |
7 | |
8 /** @type {!VolumeInfo} */ | |
9 var cameraVolume; | |
10 | |
11 /** @type {!VolumeInfo} */ | |
12 var sdVolume; | |
13 | |
14 /** @type {!VolumeInfo} */ | |
mtomasz
2014/12/11 01:51:52
Some variables are !Foobar, and some !Foobar|undef
Steve McKay
2014/12/11 02:12:57
Nuked |undefined which was unnecessary. Plus we do
| |
15 var driveVolume; | |
16 | |
17 /** @type {!MockFileEntry|undefined} */ | |
18 var cameraFileEntry; | |
19 | |
20 /** @type {!MockFileEntry|undefined} */ | |
21 var sdFileEntry; | |
22 | |
23 /** @type {!MockFileEntry|undefined} */ | |
24 var driveFileEntry; | |
25 | |
26 /** @type {!MockDirectoryEntry|undefined} */ | |
27 var mediaDirectory; | |
28 | |
29 /** @type {!MockDirectoryEntry|undefined} */ | |
30 var nonMediaDirectory; | |
31 | |
32 // Set up the test components. | |
33 function setUp() { | |
34 // Sadly, boilerplate setup necessary to include test support classes. | |
35 loadTimeData.data = { | |
36 DRIVE_DIRECTORY_LABEL: 'My Drive', | |
37 DOWNLOADS_DIRECTORY_LABEL: 'Downloads' | |
38 }; | |
39 | |
40 var cameraFileSystem = new MockFileSystem( | |
41 'camera-fs', 'filesystem:camera-123'); | |
42 var sdFileSystem = new MockFileSystem( | |
43 'sd-fs', 'filesystem:sd-123'); | |
44 | |
45 cameraVolume = MockVolumeManager.createMockVolumeInfo( | |
46 VolumeManagerCommon.VolumeType.MTP, | |
47 'camera-fs', | |
48 'Some Camera'); | |
49 | |
50 sdVolume = MockVolumeManager.createMockVolumeInfo( | |
51 VolumeManagerCommon.VolumeType.REMOVABLE, | |
52 'sd-fs', | |
53 'Some SD Card'); | |
54 | |
55 volumeManager = new MockVolumeManager(); | |
56 volumeManager.volumeInfoList.push(cameraVolume); | |
57 volumeManager.volumeInfoList.push(sdVolume); | |
58 | |
59 driveVolume = volumeManager.getCurrentProfileVolumeInfo( | |
60 VolumeManagerCommon.VolumeType.DRIVE); | |
61 | |
62 cameraFileEntry = createFileEntry(cameraVolume, '/DCIM/poodles.jpg'); | |
63 sdFileEntry = createFileEntry(sdVolume, '/dcim/a-z/IMG1234.jpg'); | |
64 driveFileEntry = createFileEntry(driveVolume, '/someotherfile.jpg'); | |
65 | |
66 mediaDirectory = createDirectoryEntry(sdVolume, '/DCIM'); | |
67 nonMediaDirectory = createDirectoryEntry(driveVolume, '/blabbity'); | |
68 } | |
69 | |
70 function createFileEntry(volume, path) { | |
71 var entry = new MockFileEntry( | |
72 volume.fileSystem, | |
73 path, { | |
74 size: 1234, | |
75 modificationTime: new Date().toString() | |
76 }); | |
77 // Ensure the file entry has a volumeID...necessary for lookups | |
78 // via the VolumeManager. | |
79 entry.volumeId = volume.volumeId; | |
80 return entry; | |
81 } | |
82 | |
83 function createDirectoryEntry(volume, path) { | |
84 var entry = new MockDirectoryEntry(volume.fileSystem, '/DCIM'); | |
85 // Ensure the file entry has a volumeID...necessary for lookups | |
86 // via the VolumeManager. | |
87 entry.volumeId = volume.volumeId; | |
88 return entry; | |
89 } | |
90 | |
91 function testIsMediaEntry() { | |
92 assertTrue(importer.isMediaEntry(cameraFileEntry)); | |
93 assertFalse(importer.isMediaEntry(driveFileEntry)); | |
94 } | |
95 | |
96 function testIsEligibleVolume() { | |
97 assertTrue(importer.isEligibleVolume(cameraVolume)); | |
98 assertTrue(importer.isEligibleVolume(sdVolume)); | |
99 assertFalse(importer.isEligibleVolume(driveVolume)); | |
100 } | |
101 | |
102 function testIsEligibleEntry() { | |
103 assertTrue(importer.isEligibleEntry(volumeManager, cameraFileEntry)); | |
104 assertTrue(importer.isEligibleEntry(volumeManager, sdFileEntry)); | |
105 assertFalse(importer.isEligibleEntry(volumeManager, driveFileEntry)); | |
106 } | |
107 | |
108 function testIsMediaDirectory() { | |
109 assertTrue(importer.isMediaDirectory(mediaDirectory, volumeManager)); | |
mtomasz
2014/12/11 01:51:52
Can we add more edge cases: Eg. /DCIM vs. /DCIM/,
Steve McKay
2014/12/11 02:12:57
Done.
| |
110 assertFalse(importer.isMediaDirectory(nonMediaDirectory, volumeManager)); | |
111 } | |
OLD | NEW |