| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // These have to be sync'd with file_browser_private_apitest.cc | 5 // These have to be sync'd with file_browser_private_apitest.cc |
| 6 var expectedVolume1 = { | 6 var expectedVolume1 = { |
| 7 devicePath: 'device_path1', | 7 devicePath: 'device_path1', |
| 8 mountPath: 'removable/mount_path1', | 8 mountPath: 'removable/mount_path1', |
| 9 systemPath: 'system_path1', | 9 systemPath: 'system_path1', |
| 10 filePath: 'file_path1', | 10 filePath: 'file_path1', |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 driveLabel: 'drive_label3', | 42 driveLabel: 'drive_label3', |
| 43 deviceType: 'optical', | 43 deviceType: 'optical', |
| 44 totalSize: 0, | 44 totalSize: 0, |
| 45 isParent: true, | 45 isParent: true, |
| 46 isReadOnly: false, | 46 isReadOnly: false, |
| 47 hasMedia: false, | 47 hasMedia: false, |
| 48 isOnBootDevice: true | 48 isOnBootDevice: true |
| 49 }; | 49 }; |
| 50 | 50 |
| 51 // List of expected mount points. | 51 // List of expected mount points. |
| 52 // We have to treat archives specially because their sourceUrl is set to | |
| 53 // filesystem url. To make it easier to define expectation for archives, | |
| 54 // instead of sourceUrl, we set sourcePath that will be converted to filesystem | |
| 55 // url when received mountPoint is verified. | |
| 56 // NOTE: this has to be synced with values in file_browser_private_apitest.cc | 52 // NOTE: this has to be synced with values in file_browser_private_apitest.cc |
| 57 // and values sorted by mountPath. | 53 // and values sorted by mountPath. |
| 58 var expectedMountPoints = [ | 54 var expectedMountPoints = [ |
| 59 { | 55 { |
| 60 sourcePath: 'removable/archive_path', | 56 sourcePath: '/media/removable/archive_path', |
| 61 mountPath: 'archive/archive_mount_path', | 57 mountPath: 'archive/archive_mount_path', |
| 62 mountType: 'file', | 58 mountType: 'file', |
| 63 mountCondition: '' | 59 mountCondition: '' |
| 64 }, | 60 }, |
| 65 { | 61 { |
| 66 sourceUrl: 'device_path1', | 62 sourcePath: 'device_path1', |
| 67 mountPath: 'removable/mount_path1', | 63 mountPath: 'removable/mount_path1', |
| 68 mountType: 'device', | 64 mountType: 'device', |
| 69 mountCondition: '' | 65 mountCondition: '' |
| 70 }, | 66 }, |
| 71 { | 67 { |
| 72 sourceUrl: 'device_path2', | 68 sourcePath: 'device_path2', |
| 73 mountPath: 'removable/mount_path2', | 69 mountPath: 'removable/mount_path2', |
| 74 mountType: 'device', | 70 mountType: 'device', |
| 75 mountCondition: '' | 71 mountCondition: '' |
| 76 }, | 72 }, |
| 77 { | 73 { |
| 78 sourceUrl: 'device_path3', | 74 sourcePath: 'device_path3', |
| 79 mountPath: 'removable/mount_path3', | 75 mountPath: 'removable/mount_path3', |
| 80 mountType: 'device', | 76 mountType: 'device', |
| 81 mountCondition: '' | 77 mountCondition: '' |
| 82 } | 78 } |
| 83 ]; | 79 ]; |
| 84 | 80 |
| 85 function treatMountPointException(received, expected, key) { | 81 function validateObject(received, expected, name) { |
| 86 if (key != 'sourcePath') | |
| 87 return { wasValidated: false, success: false }; | |
| 88 var expectedSourceUrl = createFileUrl(expected[key]); | |
| 89 var success = (expectedSourceUrl == received['sourceUrl']); | |
| 90 if (!success) | |
| 91 console.warn("Expected mount point's sourceUrl to be '" + | |
| 92 expectedSourceUrl + "' but got '" + received['sourceUrl'] + | |
| 93 "' instead."); | |
| 94 return { wasValidated: true, success: success }; | |
| 95 } | |
| 96 | |
| 97 function validateObject(received, expected, name, treatException) { | |
| 98 for (var key in expected) { | 82 for (var key in expected) { |
| 99 var validated = treatException && | |
| 100 treatException(received, expected, key); | |
| 101 if (validated && validated.wasValidated) { | |
| 102 if (validated.success) { | |
| 103 continue; | |
| 104 } else { | |
| 105 return false; | |
| 106 } | |
| 107 } | |
| 108 if (received[key] != expected[key]) { | 83 if (received[key] != expected[key]) { |
| 109 console.warn('Expected "' + key + '" ' + name + ' property to be: "' + | 84 console.warn('Expected "' + key + '" ' + name + ' property to be: "' + |
| 110 expected[key] + '"' + ', but got: "' + received[key] + | 85 expected[key] + '"' + ', but got: "' + received[key] + |
| 111 '" instead.'); | 86 '" instead.'); |
| 112 return false; | 87 return false; |
| 113 } | 88 } |
| 114 } | 89 } |
| 115 if (Object.keys(expected).length != Object.keys(received).length) { | 90 if (Object.keys(expected).length != Object.keys(received).length) { |
| 116 console.warn('Unexpected property found in returned volume'); | 91 console.warn('Unexpected property found in returned volume'); |
| 117 return false; | 92 return false; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 chrome.test.callbackFail('Invalid mount path.')); | 166 chrome.test.callbackFail('Invalid mount path.')); |
| 192 }, | 167 }, |
| 193 | 168 |
| 194 function getMountPointsTest() { | 169 function getMountPointsTest() { |
| 195 chrome.fileBrowserPrivate.getMountPoints( | 170 chrome.fileBrowserPrivate.getMountPoints( |
| 196 chrome.test.callbackPass(function(result) { | 171 chrome.test.callbackPass(function(result) { |
| 197 chrome.test.assertEq(result.length, expectedMountPoints.length, | 172 chrome.test.assertEq(result.length, expectedMountPoints.length, |
| 198 'getMountPoints returned wrong number of mount points.'); | 173 'getMountPoints returned wrong number of mount points.'); |
| 199 for (var i = 0; i < expectedMountPoints.length; i++) { | 174 for (var i = 0; i < expectedMountPoints.length; i++) { |
| 200 chrome.test.assertTrue( | 175 chrome.test.assertTrue( |
| 201 validateObject(result[i], expectedMountPoints[i], 'mountPoint', | 176 validateObject(result[i], expectedMountPoints[i], 'mountPoint'), |
| 202 treatMountPointException), | |
| 203 'getMountPoints result[' + i + '] not as expected'); | 177 'getMountPoints result[' + i + '] not as expected'); |
| 204 } | 178 } |
| 205 })); | 179 })); |
| 206 } | 180 } |
| 207 ]); | 181 ]); |
| OLD | NEW |