Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(744)

Unified Diff: chrome/test/data/file_manager/unit_tests/importer_common_unittest.js

Issue 778123006: Include MTP devices in Cloud Import happiness. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add test files missing from CL. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
+}

Powered by Google App Engine
This is Rietveld 408576698