Chromium Code Reviews| 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 |