Index: chrome/test/data/extensions/api_test/file_system_provider/test_util/test_util.js |
diff --git a/chrome/test/data/extensions/api_test/file_system_provider/test_util/test_util.js b/chrome/test/data/extensions/api_test/file_system_provider/test_util/test_util.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ed572ed787ecd307eff42b6c0e86b7e1fb38fdc0 |
--- /dev/null |
+++ b/chrome/test/data/extensions/api_test/file_system_provider/test_util/test_util.js |
@@ -0,0 +1,77 @@ |
+// 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. |
+ |
+'use strict'; |
+ |
+// Namespace for testing utilities. |
+var test_util = {}; |
+ |
+/** |
+ * @type {string} |
+ * @const |
+ */ |
+test_util.FILE_SYSTEM_ID = 'vanilla.txt'; |
+ |
+/** |
+ * @type {string} |
+ * @const |
+ */ |
+test_util.FILE_SYSTEM_NAME = 'Vanilla'; |
+ |
+/** |
+ * @type {FileSystem} |
+ */ |
+test_util.fileSystem = null; |
+ |
+/** |
+ * Gets volume information for the provided file system. |
+ * |
+ * @param {string} fileSystemId Id of the provided file system. |
+ * @param {function(Object)} callback Callback to be called on result, with the |
+ * volume information object in case of success, or null if not found. |
+ */ |
+test_util.getVolumeInfo = function(fileSystemId, callback) { |
+ chrome.fileBrowserPrivate.getVolumeMetadataList(function(volumeList) { |
+ for (var i = 0; i < volumeList.length; i++) { |
+ if (volumeList[i].extensionId == chrome.runtime.id && |
+ volumeList[i].fileSystemId == fileSystemId) { |
+ callback(volumeList[i]); |
+ return; |
+ } |
+ } |
+ callback(null); |
+ }); |
+}; |
+ |
+/** |
+ * Mounts a testing file system and calls the callback in case of a success. |
+ * On failure, the current test case is failed on an assertion. |
+ * |
+ * @param {function()} callback Success callback. |
+ */ |
+test_util.mountFileSystem = function(callback) { |
+ chrome.fileSystemProvider.mount( |
+ { |
+ fileSystemId: test_util.FILE_SYSTEM_ID, |
+ displayName: test_util.FILE_SYSTEM_NAME |
+ }, |
+ function() { |
+ var volumeId = |
+ 'provided:' + chrome.runtime.id + '-' + test_util.FILE_SYSTEM_ID + |
+ '-user'; |
+ |
+ test_util.getVolumeInfo(test_util.FILE_SYSTEM_ID, function(volumeInfo) { |
+ chrome.test.assertTrue(!!volumeInfo); |
+ chrome.fileBrowserPrivate.requestFileSystem( |
+ volumeInfo.volumeId, |
+ function(inFileSystem) { |
+ chrome.test.assertTrue(!!inFileSystem); |
+ test_util.fileSystem = inFileSystem; |
+ callback(); |
+ }); |
+ }); |
+ }, function() { |
+ chrome.test.fail(); |
+ }); |
+}; |