Index: chrome/test/data/extensions/api_test/wallpaper_manager/test.js |
diff --git a/chrome/test/data/extensions/api_test/wallpaper_manager/test.js b/chrome/test/data/extensions/api_test/wallpaper_manager/test.js |
index efda128659afbbbac9b35f67d604935c40bc0f3e..60432ef27bf2c86b14ee7a5ce4d09b024ea8f4e8 100644 |
--- a/chrome/test/data/extensions/api_test/wallpaper_manager/test.js |
+++ b/chrome/test/data/extensions/api_test/wallpaper_manager/test.js |
@@ -11,6 +11,20 @@ var fail = chrome.test.callbackFail; |
chrome.test.getConfig(function(config) { |
var wallpaper; |
var wallpaperStrings; |
+ var requestImage = function(url, onLoadCallback) { |
+ var wallpaperRequest = new XMLHttpRequest(); |
+ wallpaperRequest.open('GET', url, true); |
+ wallpaperRequest.responseType = 'arraybuffer'; |
+ try { |
+ wallpaperRequest.send(null); |
+ wallpaperRequest.onloadend = function(e) { |
+ onLoadCallback(wallpaperRequest.status, wallpaperRequest.response); |
+ }; |
+ } catch (e) { |
+ console.error(e); |
+ chrome.test.fail('An error thrown when requesting wallpaper.'); |
+ }; |
+ }; |
chrome.test.runTests([ |
function getWallpaperStrings() { |
chrome.wallpaperPrivate.getStrings(pass(function(strings) { |
@@ -18,29 +32,20 @@ chrome.test.getConfig(function(config) { |
})); |
}, |
function setOnlineJpegWallpaper() { |
- var wallpaperRequest = new XMLHttpRequest(); |
var url = "http://a.com:PORT/files/extensions/api_test" + |
"/wallpaper_manager/test.jpg"; |
url = url.replace(/PORT/, config.testServer.port); |
- wallpaperRequest.open('GET', url, true); |
- wallpaperRequest.responseType = 'arraybuffer'; |
- try { |
- wallpaperRequest.send(null); |
- wallpaperRequest.onload = function (e) { |
- if (wallpaperRequest.status === 200) { |
- wallpaper = wallpaperRequest.response; |
- chrome.wallpaperPrivate.setWallpaper(wallpaper, |
- 'CENTER_CROPPED', |
- url, |
- pass()); |
- } else { |
- chrome.test.fail('Failed to load test.jpg from local server.'); |
- } |
- }; |
- } catch (e) { |
- console.error(e); |
- chrome.test.fail('An error thrown when requesting wallpaper.'); |
- }; |
+ requestImage(url, function(requestStatus, response) { |
+ if (requestStatus === 200) { |
+ wallpaper = response; |
+ chrome.wallpaperPrivate.setWallpaper(wallpaper, |
+ 'CENTER_CROPPED', |
+ url, |
+ pass()); |
+ } else { |
+ chrome.test.fail('Failed to load test.jpg from local server.'); |
+ } |
+ }); |
}, |
function setCustomJpegWallpaper() { |
chrome.wallpaperPrivate.setCustomWallpaper(wallpaper, |
@@ -48,27 +53,34 @@ chrome.test.getConfig(function(config) { |
pass()); |
}, |
function setCustomJepgBadWallpaper() { |
- var wallpaperRequest = new XMLHttpRequest(); |
var url = "http://a.com:PORT/files/extensions/api_test" + |
"/wallpaper_manager/test_bad.jpg"; |
url = url.replace(/PORT/, config.testServer.port); |
- wallpaperRequest.open('GET', url, true); |
- wallpaperRequest.responseType = 'arraybuffer'; |
- try { |
- wallpaperRequest.send(null); |
- wallpaperRequest.onload = function (e) { |
- if (wallpaperRequest.status === 200) { |
- var badWallpaper = wallpaperRequest.response; |
- chrome.wallpaperPrivate.setCustomWallpaper(badWallpaper, |
- 'CENTER_CROPPED', fail(wallpaperStrings.invalidWallpaper)); |
- } else { |
- chrome.test.fail('Failed to load test_bad.jpg from local server.'); |
- } |
- }; |
- } catch (e) { |
- console.error(e); |
- chrome.test.fail('An error thrown when requesting wallpaper.'); |
- }; |
+ requestImage(url, function(requestStatus, response) { |
+ if (requestStatus === 200) { |
+ var badWallpaper = response; |
+ chrome.wallpaperPrivate.setCustomWallpaper(badWallpaper, |
+ 'CENTER_CROPPED', fail(wallpaperStrings.invalidWallpaper)); |
+ } else { |
+ chrome.test.fail('Failed to load test_bad.jpg from local server.'); |
+ } |
+ }); |
+ }, |
+ function getAndSetThumbnail() { |
+ var url = "http://a.com:PORT/files/extensions/api_test" + |
+ "/wallpaper_manager/test.jpg"; |
+ url = url.replace(/PORT/, config.testServer.port); |
+ chrome.wallpaperPrivate.getThumbnail(url, pass(function(results) { |
+ // We haven't save any thumbnail yet. Expected false. |
+ chrome.test.assertFalse(results.success); |
+ chrome.wallpaperPrivate.saveThumbnail(wallpaper, url, pass(function() { |
+ chrome.wallpaperPrivate.getThumbnail(url, pass(function(results) { |
+ // Thumbnail should already be saved to thumbnail directory. |
+ chrome.test.assertTrue(results.success); |
+ chrome.test.assertEq(wallpaper, results.data); |
+ })); |
+ })); |
+ })); |
} |
]); |
}); |