Chromium Code Reviews| Index: chrome/test/data/file_manager/unit_tests/importer_common_unittest.js |
| diff --git a/chrome/test/data/file_manager/unit_tests/importer_common_unittest.js b/chrome/test/data/file_manager/unit_tests/importer_common_unittest.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..601df68fd12595e94edb6d5b66c4531064f6c81a |
| --- /dev/null |
| +++ b/chrome/test/data/file_manager/unit_tests/importer_common_unittest.js |
| @@ -0,0 +1,111 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +/** @type {!MockVolumeManager} */ |
| +var volumeManager; |
| + |
| +/** @type {!VolumeInfo} */ |
| +var cameraVolume; |
| + |
| +/** @type {!VolumeInfo} */ |
| +var sdVolume; |
| + |
| +/** @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
|
| +var driveVolume; |
| + |
| +/** @type {!MockFileEntry|undefined} */ |
| +var cameraFileEntry; |
| + |
| +/** @type {!MockFileEntry|undefined} */ |
| +var sdFileEntry; |
| + |
| +/** @type {!MockFileEntry|undefined} */ |
| +var driveFileEntry; |
| + |
| +/** @type {!MockDirectoryEntry|undefined} */ |
| +var mediaDirectory; |
| + |
| +/** @type {!MockDirectoryEntry|undefined} */ |
| +var nonMediaDirectory; |
| + |
| +// Set up the test components. |
| +function setUp() { |
| + // Sadly, boilerplate setup necessary to include test support classes. |
| + loadTimeData.data = { |
| + DRIVE_DIRECTORY_LABEL: 'My Drive', |
| + DOWNLOADS_DIRECTORY_LABEL: 'Downloads' |
| + }; |
| + |
| + var cameraFileSystem = new MockFileSystem( |
| + 'camera-fs', 'filesystem:camera-123'); |
| + var sdFileSystem = new MockFileSystem( |
| + 'sd-fs', 'filesystem:sd-123'); |
| + |
| + cameraVolume = MockVolumeManager.createMockVolumeInfo( |
| + VolumeManagerCommon.VolumeType.MTP, |
| + 'camera-fs', |
| + 'Some Camera'); |
| + |
| + sdVolume = MockVolumeManager.createMockVolumeInfo( |
| + VolumeManagerCommon.VolumeType.REMOVABLE, |
| + 'sd-fs', |
| + 'Some SD Card'); |
| + |
| + volumeManager = new MockVolumeManager(); |
| + volumeManager.volumeInfoList.push(cameraVolume); |
| + volumeManager.volumeInfoList.push(sdVolume); |
| + |
| + driveVolume = volumeManager.getCurrentProfileVolumeInfo( |
| + VolumeManagerCommon.VolumeType.DRIVE); |
| + |
| + cameraFileEntry = createFileEntry(cameraVolume, '/DCIM/poodles.jpg'); |
| + sdFileEntry = createFileEntry(sdVolume, '/dcim/a-z/IMG1234.jpg'); |
| + driveFileEntry = createFileEntry(driveVolume, '/someotherfile.jpg'); |
| + |
| + mediaDirectory = createDirectoryEntry(sdVolume, '/DCIM'); |
| + nonMediaDirectory = createDirectoryEntry(driveVolume, '/blabbity'); |
| +} |
| + |
| +function createFileEntry(volume, path) { |
| + var entry = new MockFileEntry( |
| + volume.fileSystem, |
| + path, { |
| + size: 1234, |
| + modificationTime: new Date().toString() |
| + }); |
| + // Ensure the file entry has a volumeID...necessary for lookups |
| + // via the VolumeManager. |
| + entry.volumeId = volume.volumeId; |
| + return entry; |
| +} |
| + |
| +function createDirectoryEntry(volume, path) { |
| + var entry = new MockDirectoryEntry(volume.fileSystem, '/DCIM'); |
| + // Ensure the file entry has a volumeID...necessary for lookups |
| + // via the VolumeManager. |
| + entry.volumeId = volume.volumeId; |
| + return entry; |
| +} |
| + |
| +function testIsMediaEntry() { |
| + assertTrue(importer.isMediaEntry(cameraFileEntry)); |
| + assertFalse(importer.isMediaEntry(driveFileEntry)); |
| +} |
| + |
| +function testIsEligibleVolume() { |
| + assertTrue(importer.isEligibleVolume(cameraVolume)); |
| + assertTrue(importer.isEligibleVolume(sdVolume)); |
| + assertFalse(importer.isEligibleVolume(driveVolume)); |
| +} |
| + |
| +function testIsEligibleEntry() { |
| + assertTrue(importer.isEligibleEntry(volumeManager, cameraFileEntry)); |
| + assertTrue(importer.isEligibleEntry(volumeManager, sdFileEntry)); |
| + assertFalse(importer.isEligibleEntry(volumeManager, driveFileEntry)); |
| +} |
| + |
| +function testIsMediaDirectory() { |
| + 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.
|
| + assertFalse(importer.isMediaDirectory(nonMediaDirectory, volumeManager)); |
| +} |