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

Unified Diff: chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js

Issue 985533004: Implement chrome.fileSystem.requestFileSystem(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed kiosk mode. Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js
diff --git a/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js b/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js
index 70e1c250a7836cd88138273a328e1651feb32f8d..2973f8d411de91c187b8f5da741fde91b5aed6f2 100644
--- a/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js
+++ b/chrome/test/data/extensions/api_test/file_browser/app_file_handler_multi/test.js
@@ -22,8 +22,8 @@ function getFileSystem(volumeType) {
for (var i = 0; i < list.length; i++) {
if (list[i].volumeType == volumeType) {
return new Promise(function(fulfill) {
- chrome.fileManagerPrivate.requestFileSystem(
- list[i].volumeId, fulfill);
+ chrome.fileSystem.requestFileSystem(
+ {volumeId: list[i].volumeId, writable: true}, fulfill);
});
}
}
@@ -103,59 +103,78 @@ function testPromise(promise) {
/**
* Calls the executeTask API with the entries and checks the launch data passed
* to onLaunched events.
- * @param {entries} entries Entries to be tested.
+ * @param {Array<Entry>} isolatedEntries Entries to be tested.
* @return {Promise} Promise to be fulfilled on success.
*/
-function launchWithEntries(entries) {
- var urls = entries.map(function(entry) { return entry.toURL(); });
- var tasksPromise = new Promise(function(fulfill) {
- chrome.fileManagerPrivate.getFileTasks(urls, fulfill);
- }).then(function(tasks) {
- chrome.test.assertEq(1, tasks.length);
- chrome.test.assertEq('kidcpjlbjdmcnmccjhjdckhbngnhnepk|app|textAction',
- tasks[0].taskId);
- return tasks[0];
- });
- var launchDataPromise = new Promise(function(fulfill) {
- chrome.app.runtime.onLaunched.addListener(function handler(launchData) {
- chrome.app.runtime.onLaunched.removeListener(handler);
- fulfill(launchData);
- });
- });
- var taskExecutedPromise = tasksPromise.then(function(task) {
- return new Promise(function(fulfill, reject) {
- chrome.fileManagerPrivate.executeTask(
- task.taskId,
- urls,
- function(result) {
- if (result)
- fulfill();
- else
- reject();
+function launchWithEntries(isolatedEntries) {
+ // TODO(mtomasz): Remove this hack once chrome.FileManager API can work on
+ // isolated entries.
+ return new Promise(
+ function(fulfill, reject) {
+ chrome.fileManagerPrivate.resolveIsolatedEntries(
+ isolatedEntries,
+ function(entries) {
+ fulfill(entries);
+ });
+ })
+ .then(
+ function(entries) {
+ var urls = entries.map(function(entry) { return entry.toURL(); });
+ var tasksPromise = new Promise(function(fulfill) {
+ chrome.fileManagerPrivate.getFileTasks(urls, fulfill);
+ }).then(function(tasks) {
+ chrome.test.assertEq(1, tasks.length);
+ chrome.test.assertEq(
+ 'kidcpjlbjdmcnmccjhjdckhbngnhnepk|app|textAction',
+ tasks[0].taskId);
+ return tasks[0];
+ });
+ var launchDataPromise = new Promise(function(fulfill) {
+ chrome.app.runtime.onLaunched.addListener(
+ function handler(launchData) {
+ chrome.app.runtime.onLaunched.removeListener(handler);
+ fulfill(launchData);
+ });
+ });
+ var taskExecutedPromise = tasksPromise.then(function(task) {
+ return new Promise(function(fulfill, reject) {
+ chrome.fileManagerPrivate.executeTask(
+ task.taskId,
+ urls,
+ function(result) {
+ if (result)
+ fulfill();
+ else
+ reject();
+ });
+ });
+ });
+ var resolvedEntriesPromise = launchDataPromise.then(
+ function(launchData) {
+ var entries = launchData.items.map(
+ function(item) { return item.entry; });
+ return new Promise(function(fulfill) {
+ chrome.fileManagerPrivate.resolveIsolatedEntries(
+ entries, fulfill);
+ });
+ });
+ return Promise.all([
+ taskExecutedPromise,
+ launchDataPromise,
+ resolvedEntriesPromise
+ ]).then(function(args) {
+ chrome.test.assertEq(entries.length, args[1].items.length);
+ chrome.test.assertEq(
+ entries.map(function(entry) { return entry.name; }),
+ args[1].items.map(function(item) { return item.entry.name; }),
+ 'Wrong entries are passed to the application handler.');
+ chrome.test.assertEq(
+ entries.map(function(entry) { return entry.toURL(); }),
+ args[2].map(function(entry) { return entry.toURL(); }),
+ 'Entries passed to the application handler cannot be ' +
+ 'resolved.');
+ })
});
- });
- });
- var resolvedEntriesPromise = launchDataPromise.then(function(launchData) {
- var entries = launchData.items.map(function(item) { return item.entry; });
- return new Promise(function(fulfill) {
- chrome.fileManagerPrivate.resolveIsolatedEntries(entries, fulfill);
- });
- });
- return Promise.all([
- taskExecutedPromise,
- launchDataPromise,
- resolvedEntriesPromise
- ]).then(function(args) {
- chrome.test.assertEq(entries.length, args[1].items.length);
- chrome.test.assertEq(
- entries.map(function(entry) { return entry.name; }),
- args[1].items.map(function(item) { return item.entry.name; }),
- 'Wrong entries are passed to the application handler.');
- chrome.test.assertEq(
- entries.map(function(entry) { return entry.toURL(); }),
- args[2].map(function(entry) { return entry.toURL(); }),
- 'Entries passed to the application handler cannot be resolved.');
- });
}
/**

Powered by Google App Engine
This is Rietveld 408576698