OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 'use strict'; | 5 'use strict'; |
6 | 6 |
7 /** | 7 /** |
8 * Runs all of the test cases, one by one. | 8 * Runs all of the test cases, one by one. |
9 */ | 9 */ |
10 chrome.test.runTests([ | 10 chrome.test.runTests([ |
(...skipping 16 matching lines...) Expand all Loading... |
27 chrome.fileSystemProvider.mount( | 27 chrome.fileSystemProvider.mount( |
28 {fileSystemId: 'file-system-id', displayName: ''}, | 28 {fileSystemId: 'file-system-id', displayName: ''}, |
29 function() { | 29 function() { |
30 chrome.test.fail(); | 30 chrome.test.fail(); |
31 }, | 31 }, |
32 function(error) { | 32 function(error) { |
33 chrome.test.assertEq('SecurityError', error.name); | 33 chrome.test.assertEq('SecurityError', error.name); |
34 onTestSuccess(); | 34 onTestSuccess(); |
35 }); | 35 }); |
36 }, | 36 }, |
| 37 |
37 // Verifies that mounting fails, when an empty string is provided as an Id | 38 // Verifies that mounting fails, when an empty string is provided as an Id |
38 function emptyFileSystemId() { | 39 function emptyFileSystemId() { |
39 var onTestSuccess = chrome.test.callbackPass(); | 40 var onTestSuccess = chrome.test.callbackPass(); |
40 chrome.fileSystemProvider.mount( | 41 chrome.fileSystemProvider.mount( |
41 {fileSystemId: '', displayName: 'File System Name'}, | 42 {fileSystemId: '', displayName: 'File System Name'}, |
42 function() { | 43 function() { |
43 chrome.test.fail(); | 44 chrome.test.fail(); |
44 }, | 45 }, |
45 function(error) { | 46 function(error) { |
46 chrome.test.assertEq('SecurityError', error.name); | 47 chrome.test.assertEq('SecurityError', error.name); |
47 onTestSuccess(); | 48 onTestSuccess(); |
48 } | 49 } |
49 ); | 50 ); |
50 }, | 51 }, |
51 | 52 |
52 // End to end test. Mounts a volume using fileSystemProvider.mount(), then | 53 // End to end test. Mounts a volume using fileSystemProvider.mount(), then |
53 // checks if the mounted volume is added to VolumeManager, by querying | 54 // checks if the mounted volume is added to VolumeManager, by querying |
54 // fileBrowserPrivate.getVolumeMetadataList(). | 55 // fileBrowserPrivate.getVolumeMetadataList(). |
55 function successfulMount() { | 56 function successfulMount() { |
56 var onTestSuccess = chrome.test.callbackPass(); | 57 var onTestSuccess = chrome.test.callbackPass(); |
57 var fileSystemId = 'caramel-candy'; | 58 var fileSystemId = 'caramel-candy'; |
58 chrome.fileSystemProvider.mount( | 59 chrome.fileSystemProvider.mount( |
59 {fileSystemId: fileSystemId, displayName: 'caramel-candy.zip'}, | 60 {fileSystemId: fileSystemId, displayName: 'caramel-candy.zip'}, |
60 function() { | 61 function() { |
61 chrome.fileBrowserPrivate.getVolumeMetadataList(function(volumeList) { | 62 chrome.fileBrowserPrivate.getVolumeMetadataList(function(volumeList) { |
62 var found = false; | 63 var volumeInfo; |
63 volumeList.forEach(function(volumeInfo) { | 64 volumeList.forEach(function(inVolumeInfo) { |
64 if (volumeInfo.extensionId == chrome.runtime.id && | 65 if (inVolumeInfo.extensionId == chrome.runtime.id && |
65 volumeInfo.fileSystemId == fileSystemId) { | 66 inVolumeInfo.fileSystemId == fileSystemId) { |
66 found = true; | 67 volumeInfo = inVolumeInfo; |
67 } | 68 } |
68 }); | 69 }); |
69 chrome.test.assertTrue(found); | 70 chrome.test.assertTrue(!!volumeInfo); |
| 71 chrome.test.assertTrue(volumeInfo.isReadOnly); |
70 onTestSuccess(); | 72 onTestSuccess(); |
71 }); | 73 }); |
72 }, | 74 }, |
| 75 function(error) { |
| 76 chrome.test.fail(); |
| 77 }); |
| 78 }, |
| 79 |
| 80 // Checks whether mounting a file system in writable mode ends up on filling |
| 81 // out the volume info properly. |
| 82 function successfulWritableMount() { |
| 83 var onTestSuccess = chrome.test.callbackPass(); |
| 84 var fileSystemId = 'caramel-fudges'; |
| 85 chrome.fileSystemProvider.mount( |
| 86 { |
| 87 fileSystemId: fileSystemId, |
| 88 displayName: 'caramel-fudges.zip', |
| 89 writable: true |
| 90 }, |
| 91 function() { |
| 92 chrome.fileBrowserPrivate.getVolumeMetadataList(function(volumeList) { |
| 93 var volumeInfo; |
| 94 volumeList.forEach(function(inVolumeInfo) { |
| 95 if (inVolumeInfo.extensionId == chrome.runtime.id && |
| 96 inVolumeInfo.fileSystemId == fileSystemId) { |
| 97 volumeInfo = inVolumeInfo; |
| 98 } |
| 99 }); |
| 100 chrome.test.assertTrue(!!volumeInfo); |
| 101 chrome.test.assertFalse(volumeInfo.isReadOnly); |
| 102 onTestSuccess(); |
| 103 }); |
| 104 }, |
73 function(error) { | 105 function(error) { |
74 chrome.test.fail(); | 106 chrome.test.fail(); |
75 }); | 107 }); |
76 }, | 108 }, |
77 | 109 |
78 // Checks is limit for mounted file systems per profile works correctly. | 110 // Checks is limit for mounted file systems per profile works correctly. |
79 // Tries to create more than allowed number of file systems. All of the mount | 111 // Tries to create more than allowed number of file systems. All of the mount |
80 // requests should succeed, except the last one which should fail with a | 112 // requests should succeed, except the last one which should fail with a |
81 // security error. | 113 // security error. |
82 function stressMountTest() { | 114 function stressMountTest() { |
83 var onTestSuccess = chrome.test.callbackPass(); | 115 var onTestSuccess = chrome.test.callbackPass(); |
84 var ALREADY_MOUNTED_FILE_SYSTEMS = 2; // By previous tests. | 116 var ALREADY_MOUNTED_FILE_SYSTEMS = 3; // By previous tests. |
85 var MAX_FILE_SYSTEMS = 16; | 117 var MAX_FILE_SYSTEMS = 16; |
86 var index = 0; | 118 var index = 0; |
87 var tryNextOne = function() { | 119 var tryNextOne = function() { |
88 index++; | 120 index++; |
89 if (index < MAX_FILE_SYSTEMS - ALREADY_MOUNTED_FILE_SYSTEMS + 1) { | 121 if (index < MAX_FILE_SYSTEMS - ALREADY_MOUNTED_FILE_SYSTEMS + 1) { |
90 var fileSystemId = index + '-stress-test'; | 122 var fileSystemId = index + '-stress-test'; |
91 chrome.fileSystemProvider.mount( | 123 chrome.fileSystemProvider.mount( |
92 {fileSystemId: fileSystemId, displayName: index + 'th File System'}, | 124 {fileSystemId: fileSystemId, displayName: index + 'th File System'}, |
93 function() { | 125 function() { |
94 tryNextOne(); | 126 tryNextOne(); |
(...skipping 12 matching lines...) Expand all Loading... |
107 }, | 139 }, |
108 function(error) { | 140 function(error) { |
109 chrome.test.assertEq('SecurityError', error.name); | 141 chrome.test.assertEq('SecurityError', error.name); |
110 onTestSuccess(); | 142 onTestSuccess(); |
111 }); | 143 }); |
112 } | 144 } |
113 }; | 145 }; |
114 tryNextOne(); | 146 tryNextOne(); |
115 } | 147 } |
116 ]); | 148 ]); |
OLD | NEW |