| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 var pass = chrome.test.callbackPass; | 5 var pass = chrome.test.callbackPass; |
| 6 var fail = chrome.test.callbackFail; | 6 var fail = chrome.test.callbackFail; |
| 7 | 7 |
| 8 chrome.test.getConfig(function(config) { | 8 chrome.test.getConfig(function(config) { |
| 9 | 9 |
| 10 var baseURL = "http://a.com:" + config.testServer.port + | 10 var baseURL = "http://a.com:" + config.testServer.port + |
| 11 "/extensions/api_test/wallpaper/"; | 11 "/extensions/api_test/wallpaper/"; |
| 12 | 12 |
| 13 /* | 13 /* |
| 14 * Calls chrome.wallpaper.setWallpaper using an arraybuffer. | 14 * Calls chrome.wallpaper.setWallpaper using an arraybuffer. |
| 15 * @param {string} filePath An extension relative file path. | 15 * @param {string} filePath An extension relative file path. |
| 16 */ | 16 */ |
| 17 var testSetWallpaperFromArrayBuffer = function (filePath) { | 17 var testSetWallpaperFromArrayBuffer = function (filePath) { |
| 18 // Loads an extension local file to an arraybuffer. | 18 // Loads an extension local file to an arraybuffer. |
| 19 var url = chrome.runtime.getURL(filePath); | 19 var url = chrome.runtime.getURL(filePath); |
| 20 var wallpaperRequest = new XMLHttpRequest(); | 20 var wallpaperRequest = new XMLHttpRequest(); |
| 21 wallpaperRequest.open('GET', url, true); | 21 wallpaperRequest.open('GET', url, true); |
| 22 wallpaperRequest.responseType = 'arraybuffer'; | 22 wallpaperRequest.responseType = 'arraybuffer'; |
| 23 try { | 23 try { |
| 24 wallpaperRequest.send(null); | 24 wallpaperRequest.send(null); |
| 25 wallpaperRequest.onloadend = function(e) { | 25 wallpaperRequest.onloadend = function(e) { |
| 26 if (wallpaperRequest.status === 200) { | 26 if (wallpaperRequest.status === 200) { |
| 27 chrome.wallpaper.setWallpaper( | 27 chrome.wallpaper.setWallpaper( |
| 28 {'wallpaperData': wallpaperRequest.response, | 28 {'data': wallpaperRequest.response, |
| 29 'layout': 'CENTER_CROPPED', | 29 'layout': 'CENTER_CROPPED', |
| 30 'name': 'test'}, | 30 'filename': 'test'}, |
| 31 // Set wallpaper directly with an arraybuffer should pass. | 31 // Set wallpaper directly with an arraybuffer should pass. |
| 32 pass() | 32 pass() |
| 33 ); | 33 ); |
| 34 } else { | 34 } else { |
| 35 chrome.test.fail('Failed to load local file: ' + filePath + '.'); | 35 chrome.test.fail('Failed to load local file: ' + filePath + '.'); |
| 36 } | 36 } |
| 37 }; | 37 }; |
| 38 } catch (e) { | 38 } catch (e) { |
| 39 console.error(e); | 39 console.error(e); |
| 40 chrome.test.fail('An error thrown when requesting wallpaper.'); | 40 chrome.test.fail('An error thrown when requesting wallpaper.'); |
| 41 } | 41 } |
| 42 }; | 42 }; |
| 43 | 43 |
| 44 /* | 44 /* |
| 45 * Calls chrome.wallpaper.setWallpaper using an URL. | 45 * Calls chrome.wallpaper.setWallpaper using an URL. |
| 46 * @param {string} relativeURL The relative URL of an online image. | 46 * @param {string} relativeURL The relative URL of an online image. |
| 47 * @param {boolean} success True if expecting the API call success. | 47 * @param {boolean} success True if expecting the API call success. |
| 48 * @param {string=} optExpectedError The expected error string if API call | 48 * @param {string=} optExpectedError The expected error string if API call |
| 49 * failed. An error string must be provided if success is set to false. | 49 * failed. An error string must be provided if success is set to false. |
| 50 */ | 50 */ |
| 51 var testSetWallpaperFromURL = function (relativeURL, | 51 var testSetWallpaperFromURL = function (relativeURL, |
| 52 success, | 52 success, |
| 53 optExpectedError) { | 53 optExpectedError) { |
| 54 var url = baseURL + relativeURL; | 54 var url = baseURL + relativeURL; |
| 55 if (success) { | 55 if (success) { |
| 56 chrome.wallpaper.setWallpaper( | 56 chrome.wallpaper.setWallpaper( |
| 57 {'url': url, | 57 {'url': url, |
| 58 'layout': 'CENTER_CROPPED', | 58 'layout': 'CENTER_CROPPED', |
| 59 'name': 'test'}, | 59 'filename': 'test'}, |
| 60 // A valid url should set wallpaper correctly. | 60 // A valid url should set wallpaper correctly. |
| 61 pass() | 61 pass() |
| 62 ); | 62 ); |
| 63 } else { | 63 } else { |
| 64 if (optExpectedError == undefined) { | 64 if (optExpectedError == undefined) { |
| 65 chrome.test.fail('No expected error string is provided.'); | 65 chrome.test.fail('No expected error string is provided.'); |
| 66 return; | 66 return; |
| 67 } | 67 } |
| 68 chrome.wallpaper.setWallpaper( | 68 chrome.wallpaper.setWallpaper( |
| 69 {'url': url, | 69 {'url': url, |
| 70 'layout': 'CENTER_CROPPED', | 70 'layout': 'CENTER_CROPPED', |
| 71 'name': 'test'}, | 71 'filename': 'test'}, |
| 72 // Expect a failure. | 72 // Expect a failure. |
| 73 fail(optExpectedError)); | 73 fail(optExpectedError)); |
| 74 } | 74 } |
| 75 }; | 75 }; |
| 76 | 76 |
| 77 chrome.test.runTests([ | 77 chrome.test.runTests([ |
| 78 function setJpgWallpaperFromAppLocalFile() { | 78 function setJpgWallpaperFromAppLocalFile() { |
| 79 testSetWallpaperFromArrayBuffer('test.jpg'); | 79 testSetWallpaperFromArrayBuffer('test.jpg'); |
| 80 }, | 80 }, |
| 81 function setPngWallpaperFromAppLocalFile() { | 81 function setPngWallpaperFromAppLocalFile() { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 97 }, | 97 }, |
| 98 function newRequestCancelPreviousRequest() { | 98 function newRequestCancelPreviousRequest() { |
| 99 // The first request should be canceled. | 99 // The first request should be canceled. |
| 100 testSetWallpaperFromURL('test.png', | 100 testSetWallpaperFromURL('test.png', |
| 101 false, | 101 false, |
| 102 'Set wallpaper was canceled.'); | 102 'Set wallpaper was canceled.'); |
| 103 testSetWallpaperFromURL('test.jpg', true); | 103 testSetWallpaperFromURL('test.jpg', true); |
| 104 } | 104 } |
| 105 ]); | 105 ]); |
| 106 }); | 106 }); |
| OLD | NEW |