Index: chrome/test/data/extensions/api_test/media_galleries/gallerywatch/test.js |
diff --git a/chrome/test/data/extensions/api_test/media_galleries_private/gallerywatch/test.js b/chrome/test/data/extensions/api_test/media_galleries/gallerywatch/test.js |
similarity index 54% |
copy from chrome/test/data/extensions/api_test/media_galleries_private/gallerywatch/test.js |
copy to chrome/test/data/extensions/api_test/media_galleries/gallerywatch/test.js |
index c28e436e1c0546864e031af89e338b5d6dad2fe7..a4e14f75af3ad11a0886df1215355ecf70a827d5 100644 |
--- a/chrome/test/data/extensions/api_test/media_galleries_private/gallerywatch/test.js |
+++ b/chrome/test/data/extensions/api_test/media_galleries/gallerywatch/test.js |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// 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. |
@@ -18,10 +18,11 @@ var onGalleryChangedCallback = function (details) { |
// Add watch request callback. |
var onAddWatchRequestCallback = function (details) { |
- if (!details || !details.success) |
- chrome.test.sendMessage('add_watch_request_failed'); |
- else |
+ if (details.success) { |
chrome.test.sendMessage('add_watch_request_succeeded'); |
+ } else { |
+ chrome.test.sendMessage('add_watch_request_failed'); |
+ } |
}; |
// chrome.mediaGalleries.getAllGalleryWatch callback. |
@@ -33,7 +34,7 @@ var getAllGalleryWatchCallback = function (results) { |
if (results.length == 0) { |
chrome.test.sendMessage('gallery_watchers_does_not_exists'); |
} else { |
- for (var i = 0; i < results.lendth; ++i) { |
+ for (var i = 0; i < results.length; ++i) { |
var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); |
if (results[i] !== info.galleryId) { |
chrome.test.sendMessage('gallery_watcher_mismatch'); |
@@ -44,26 +45,69 @@ var getAllGalleryWatchCallback = function (results) { |
} |
}; |
+var onGalleryChangedCheckingCallback = function(result) { |
+ if (result.galleryId != '' && result.type == 'contents_changed') { |
+ chrome.test.sendMessage('on_gallery_changed_checking_ok'); |
+ } |
+}; |
+ |
+ |
+/** |
+ * Generates a callback function which notifies the apitest when the given |
+ * number of runtime errors has occurred. |
+ * |
+ * @param {number} expectedNumCalls The number of calls to this callback to |
+ * expect. |
+ * @return {function()} |
+ */ |
+var createUnlistenedAddWatchCallback = function(expectedNumCalls) { |
+ var numCalls = 0; |
+ var numErrors = 0; |
+ return function() { |
+ numCalls++; |
+ if (chrome.runtime.lastError) { |
+ numErrors++; |
+ } |
+ |
+ if (numCalls == expectedNumCalls && numErrors == expectedNumCalls) { |
+ chrome.test.sendMessage('add_watch_request_runtime_error'); |
+ } |
+ }; |
+} |
+ |
// Helpers to add and remove event listeners. |
function addGalleryChangedListener() { |
- chrome.mediaGalleriesPrivate.onGalleryChanged.addListener( |
+ chrome.mediaGalleries.onGalleryChanged.addListener( |
onGalleryChangedCallback); |
chrome.test.sendMessage('add_gallery_changed_listener_ok'); |
}; |
+function addCheckingGalleryChangedListener() { |
+ chrome.mediaGalleries.onGalleryChanged.addListener( |
+ onGalleryChangedCheckingCallback); |
+ chrome.test.sendMessage('add_gallery_changed_listener_ok'); |
+}; |
+ |
function setupWatchOnValidGalleries() { |
for (var i = 0; i < galleries.length; ++i) { |
var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); |
- chrome.mediaGalleriesPrivate.addGalleryWatch(info.galleryId, |
- onAddWatchRequestCallback); |
+ chrome.mediaGalleries.addGalleryWatch(info.galleryId, |
+ onAddWatchRequestCallback); |
} |
chrome.test.sendMessage('add_gallery_watch_ok'); |
}; |
+function setupWatchOnUnlistenedValidGalleries() { |
+ var callback = createUnlistenedAddWatchCallback(galleries.length); |
+ for (var i = 0; i < galleries.length; ++i) { |
+ var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); |
+ chrome.mediaGalleries.addGalleryWatch(info.galleryId, callback); |
+ } |
+}; |
+ |
function setupWatchOnInvalidGallery() { |
- chrome.mediaGalleriesPrivate.addGalleryWatch(invalidGalleryId, |
- onAddWatchRequestCallback); |
- chrome.test.sendMessage('add_gallery_watch_ok'); |
+ chrome.mediaGalleries.addGalleryWatch(invalidGalleryId, |
+ onAddWatchRequestCallback); |
} |
function getMediaFileSystems() { |
@@ -74,23 +118,23 @@ function getMediaFileSystems() { |
function removeGalleryWatch() { |
for (var i = 0; i < galleries.length; ++i) { |
var info = chrome.mediaGalleries.getMediaFileSystemMetadata(galleries[i]); |
- chrome.mediaGalleriesPrivate.removeGalleryWatch(info.galleryId); |
+ chrome.mediaGalleries.removeGalleryWatch(info.galleryId); |
} |
chrome.test.sendMessage('remove_gallery_watch_ok'); |
}; |
function removeGalleryChangedListener() { |
- chrome.mediaGalleriesPrivate.onGalleryChanged.removeListener( |
+ chrome.mediaGalleries.onGalleryChanged.removeListener( |
onGalleryChangedCallback); |
chrome.test.sendMessage('remove_gallery_changed_listener_ok'); |
}; |
function getAllWatchedGalleryIds() { |
- chrome.mediaGalleriesPrivate.getAllGalleryWatch(getAllGalleryWatchCallback); |
+ chrome.mediaGalleries.getAllGalleryWatch(getAllGalleryWatchCallback); |
chrome.test.sendMessage('get_all_gallery_watch_ok'); |
}; |
function removeAllGalleryWatch() { |
- chrome.mediaGalleriesPrivate.removeAllGalleryWatch(); |
+ chrome.mediaGalleries.removeAllGalleryWatch(); |
chrome.test.sendMessage('remove_all_gallery_watch_ok'); |
}; |