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

Side by Side Diff: chrome/test/data/extensions/api_test/filebrowser_mount/test.js

Issue 24024002: file_manager: Move mount test stuff to c/t/d/extensions/api_test/file_browser (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix OWNERS Created 7 years, 3 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/test/data/extensions/api_test/filebrowser_mount/test.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 // These have to be sync'd with file_browser_private_apitest.cc
6 var expectedVolume1 = {
7 devicePath: 'device_path1',
8 mountPath: 'removable/mount_path1',
9 systemPath: 'system_path1',
10 filePath: 'file_path1',
11 deviceLabel: 'device_label1',
12 driveLabel: 'drive_label1',
13 deviceType: 'usb',
14 totalSize: 1073741824,
15 isParent: false,
16 isReadOnly: false,
17 hasMedia: false,
18 isOnBootDevice: false
19 };
20
21 var expectedVolume2 = {
22 devicePath: 'device_path2',
23 mountPath: 'removable/mount_path2',
24 systemPath: 'system_path2',
25 filePath: 'file_path2',
26 deviceLabel: 'device_label2',
27 driveLabel: 'drive_label2',
28 deviceType: 'mobile',
29 totalSize: 47723,
30 isParent: true,
31 isReadOnly: true,
32 hasMedia: true,
33 isOnBootDevice: true
34 };
35
36 var expectedVolume3 = {
37 devicePath: 'device_path3',
38 mountPath: 'removable/mount_path3',
39 systemPath: 'system_path3',
40 filePath: 'file_path3',
41 deviceLabel: 'device_label3',
42 driveLabel: 'drive_label3',
43 deviceType: 'optical',
44 totalSize: 0,
45 isParent: true,
46 isReadOnly: false,
47 hasMedia: false,
48 isOnBootDevice: true
49 };
50
51 var expectedDownloadsVolume = {
52 mountPath: 'Downloads',
53 isReadOnly: false,
54 };
55
56 // List of expected mount points.
57 // NOTE: this has to be synced with values in file_browser_private_apitest.cc
58 // and values sorted by mountPath.
59 var expectedMountPoints = [
60 {
61 mountPath: 'Downloads',
62 mountCondition: ''
63 },
64 {
65 sourcePath: 'archive_path',
66 mountPath: 'archive/archive_mount_path',
67 mountType: 'file',
68 mountCondition: ''
69 },
70 {
71 sourcePath: 'device_path1',
72 mountPath: 'removable/mount_path1',
73 mountType: 'device',
74 mountCondition: ''
75 },
76 {
77 sourcePath: 'device_path2',
78 mountPath: 'removable/mount_path2',
79 mountType: 'device',
80 mountCondition: ''
81 },
82 {
83 sourcePath: 'device_path3',
84 mountPath: 'removable/mount_path3',
85 mountType: 'device',
86 mountCondition: ''
87 }
88 ];
89
90 function validateObject(received, expected, name) {
91 for (var key in expected) {
92 if (received[key] != expected[key]) {
93 console.warn('Expected "' + key + '" ' + name + ' property to be: "' +
94 expected[key] + '"' + ', but got: "' + received[key] +
95 '" instead.');
96 return false;
97 }
98 }
99 if (Object.keys(expected).length != Object.keys(received).length) {
100 console.warn('Unexpected property found in returned volume');
101 return false;
102 }
103 return true;
104 }
105
106 function createFileUrl(fileName) {
107 var testExtensionId = 'ddammdhioacbehjngdmkjcjbnfginlla';
108 var fileUrl = 'filesystem:chrome-extension://' + testExtensionId +
109 '/external/' + fileName;
110 return fileUrl;
111 }
112
113 chrome.test.runTests([
114 function removeMount() {
115 // The ID of this extension.
116 var fileUrl = createFileUrl('archive/archive_mount_path');
117
118 chrome.fileBrowserPrivate.removeMount(fileUrl);
119
120 // We actually check this one on C++ side. If MountLibrary.RemoveMount
121 // doesn't get called, test will fail.
122 chrome.test.succeed();
123 },
124
125 function getVolumeMetadataValid1() {
126 chrome.fileBrowserPrivate.getVolumeMetadata(
127 createFileUrl(expectedVolume1.mountPath),
128 chrome.test.callbackPass(function(result) {
129 chrome.test.assertTrue(
130 validateObject(result, expectedVolume1, 'volume'),
131 'getVolumeMetadata result for first volume not as expected');
132 }));
133 },
134
135 function getVolumeMetadataValid2() {
136 chrome.fileBrowserPrivate.getVolumeMetadata(
137 createFileUrl(expectedVolume2.mountPath),
138 chrome.test.callbackPass(function(result) {
139 chrome.test.assertTrue(
140 validateObject(result, expectedVolume2, 'volume'),
141 'getVolumeMetadata result for second volume not as expected');
142 }));
143 },
144
145 function getVolumeMetadataValid3() {
146 chrome.fileBrowserPrivate.getVolumeMetadata(
147 createFileUrl(expectedVolume3.mountPath),
148 chrome.test.callbackPass(function(result) {
149 chrome.test.assertTrue(
150 validateObject(result, expectedVolume3, 'volume'),
151 'getVolumeMetadata result for third volume not as expected');
152 }));
153 },
154
155 function getVolumeMetadataDownloads() {
156 chrome.fileBrowserPrivate.getVolumeMetadata(
157 createFileUrl(expectedDownloadsVolume.mountPath),
158 chrome.test.callbackPass(function(result) {
159 chrome.test.assertTrue(
160 validateObject(result, expectedDownloadsVolume, 'volume'),
161 'getVolumeMetadata result for downloads volume not as expected');
162 }));
163 },
164
165 function getVolumeMetadataNonExistentPath() {
166 chrome.fileBrowserPrivate.getVolumeMetadata(
167 createFileUrl('removable/non_existent_device_path'),
168 chrome.test.callbackPass(function(result) {
169 chrome.test.assertEq(undefined, result);
170 }));
171 },
172
173 function getVolumeMetadataArchive() {
174 chrome.fileBrowserPrivate.getVolumeMetadata(
175 createFileUrl('archive/archive_mount_path'),
176 chrome.test.callbackPass(function(result) {
177 chrome.test.assertEq(undefined, result);
178 }));
179 },
180
181 function getVolumeMetadataInvalidPath() {
182 chrome.fileBrowserPrivate.getVolumeMetadata(
183 'some path',
184 chrome.test.callbackFail('Invalid mount path.'));
185 },
186
187 function getMountPointsTest() {
188 chrome.fileBrowserPrivate.getMountPoints(
189 chrome.test.callbackPass(function(result) {
190 chrome.test.assertEq(result.length, expectedMountPoints.length,
191 'getMountPoints returned wrong number of mount points.');
192 for (var i = 0; i < expectedMountPoints.length; i++) {
193 chrome.test.assertTrue(
194 validateObject(result[i], expectedMountPoints[i], 'mountPoint'),
195 'getMountPoints result[' + i + '] not as expected');
196 }
197 }));
198 }
199 ]);
OLDNEW
« no previous file with comments | « chrome/test/data/extensions/api_test/filebrowser_mount/test.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698