Chromium Code Reviews| 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 'use strict'; | 4 'use strict'; |
| 5 | 5 |
| 6 var mockController; | 6 var mockController; |
| 7 | 7 |
| 8 WallpaperUtil.enabledExperimentalFeatureCallback = function(callback) { | |
| 9 callback(); | |
| 10 }; | |
| 11 | |
| 12 WallpaperUtil.enabledSyncThemesCallback = function(callback) { | |
| 13 callback(); | |
| 14 }; | |
| 15 | |
| 8 function setUp() { | 16 function setUp() { |
| 9 mockController = new MockController(); | 17 mockController = new MockController(); |
| 10 installMockXMLHttpRequest(); | 18 installMockXMLHttpRequest(); |
| 11 } | 19 } |
| 12 | 20 |
| 13 function tearDown() { | 21 function tearDown() { |
| 14 mockController.verifyMocks(); | 22 mockController.verifyMocks(); |
| 15 mockController.reset(); | 23 mockController.reset(); |
| 16 uninstallMockXMLHttpRequest(); | 24 uninstallMockXMLHttpRequest(); |
| 25 mockSyncFS.reset(); | |
| 26 mockLocalFS.reset(); | |
| 27 } | |
| 28 | |
| 29 // Test set custom wallpaper from syncFS. When local wallpaper name is different | |
| 30 // with the name in server, wallpaper should use the one in server. | |
| 31 function testSyncCustomWallpaperSet() { | |
| 32 var mockSetCustomWallpaper = mockController.createFunctionMock( | |
| 33 chrome.wallpaperPrivate, 'setCustomWallpaper'); | |
| 34 mockSetCustomWallpaper.addExpectation(TestConstants.fileString, | |
| 35 'dummy', | |
| 36 true, | |
| 37 'dummy'); | |
| 38 mockSyncFS.addFile('dummy'); | |
| 39 var syncFSChanges = {}; | |
| 40 syncFSChanges.status = 'synced'; | |
| 41 syncFSChanges.direction = 'remote_to_local'; | |
| 42 syncFSChanges.action = 'added'; | |
| 43 | |
| 44 mockSyncFS.root.getFile('dummy', {create:false}, function(fe) { | |
| 45 syncFSChanges.fileEntry = fe; | |
| 46 chrome.syncFileSystem.onFileStatusChanged.dispatch(syncFSChanges); | |
|
bshe
2014/10/27 20:14:51
I think it is probably easier to make "addFile" re
Ran
2014/10/27 22:22:01
Done.
| |
| 47 }, function(e) { | |
| 48 console.error(e); | |
| 49 }); | |
| 50 } | |
| 51 | |
| 52 // Test store historical custom wallpaper. When receive a historical wallpaper | |
| 53 // from syncFS, we store it to local. | |
| 54 function testSyncCustoWallpapermStore() { | |
| 55 mockSyncFS.addFile('historicalwallpaper'); | |
| 56 var syncFSChanges = {}; | |
| 57 syncFSChanges.status = 'synced'; | |
| 58 syncFSChanges.direction = 'remote_to_local'; | |
| 59 syncFSChanges.action = 'added'; | |
| 60 syncFSChanges.fileEntry = new FileEntry('historicalwallpaper'); | |
| 61 | |
| 62 // TODO(ranj): support two callbacks with success and failure? | |
| 63 var mockWrite = mockController.createFunctionMock(mockWriter, 'write'); | |
| 64 mockWrite.addExpectation(new Blob([new Int8Array(TestConstants.fileString)])); | |
|
bshe
2014/10/27 20:14:51
Blob probably dont have == operator. would it be p
Ran
2014/10/27 22:22:01
Done.
| |
| 65 chrome.syncFileSystem.onFileStatusChanged.dispatch(syncFSChanges); | |
| 66 } | |
| 67 | |
| 68 // Test delete custom wallpaper from local. When receive a syncFS delete file | |
| 69 // event, delete the file in localFS as well. | |
| 70 function testSyncCustomWallpaperDelete() { | |
| 71 var localOriginalPath = Constants.WallpaperDirNameEnum.ORIGINAL + '/' + | |
| 72 'deletewallpapername'; | |
| 73 var localThumbnailPath = Constants.WallpaperDirNameEnum.THUMBNAIL + '/' + | |
| 74 'deletewallpapername'; | |
| 75 mockLocalFS.addFile(localThumbnailPath); | |
| 76 mockLocalFS.addFile(localOriginalPath); | |
| 77 var syncFSChanges = {}; | |
| 78 syncFSChanges.status = 'synced'; | |
| 79 syncFSChanges.direction = 'remote_to_local'; | |
| 80 syncFSChanges.action = 'deleted'; | |
| 81 syncFSChanges.fileEntry = new FileEntry('deletewallpapername'); | |
| 82 var originalFE; | |
| 83 var thumbnailFE; | |
| 84 mockLocalFS.root.getFile(localOriginalPath, {create:false}, function(fe) { | |
| 85 originalFE = fe; | |
| 86 var mockRemoveOriginal = mockController.createFunctionMock(originalFE, | |
| 87 'remove'); | |
| 88 mockRemoveOriginal.addExpectation(function() {}, null); | |
| 89 }, function(e) { | |
| 90 console.error(e); | |
| 91 }); | |
| 92 mockLocalFS.root.getFile(localThumbnailPath, {create:false}, function(fe) { | |
| 93 thumbnailFE = fe; | |
| 94 var mockRemoveThumbnail = mockController.createFunctionMock(thumbnailFE, | |
| 95 'remove'); | |
| 96 mockRemoveThumbnail.addExpectation(function() {}, null); | |
| 97 }, function(e) { | |
| 98 console.error(e); | |
| 99 }); | |
| 100 chrome.syncFileSystem.onFileStatusChanged.dispatch(syncFSChanges); | |
| 17 } | 101 } |
| 18 | 102 |
| 19 // Test sync online wallpaper. When the synced wallpaper info is not the same as | 103 // Test sync online wallpaper. When the synced wallpaper info is not the same as |
| 20 // the local wallpaper info, wallpaper should set to the synced one. | 104 // the local wallpaper info, wallpaper should set to the synced one. |
| 21 function testSyncOnlineWallpaper() { | 105 function testSyncOnlineWallpaper() { |
| 22 // Setup sync value. | 106 // Setup sync value. |
| 23 var changes = {}; | 107 var changes = {}; |
| 24 changes[Constants.AccessSyncWallpaperInfoKey] = {}; | 108 changes[Constants.AccessSyncWallpaperInfoKey] = {}; |
| 25 changes[Constants.AccessSyncWallpaperInfoKey].newValue = { | 109 changes[Constants.AccessSyncWallpaperInfoKey].newValue = { |
| 26 'url': TestConstants.wallpaperURL, | 110 'url': TestConstants.wallpaperURL, |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 37 | 121 |
| 38 var mockSetWallpaper = mockController.createFunctionMock( | 122 var mockSetWallpaper = mockController.createFunctionMock( |
| 39 chrome.wallpaperPrivate, 'setWallpaper'); | 123 chrome.wallpaperPrivate, 'setWallpaper'); |
| 40 mockSetWallpaper.addExpectation( | 124 mockSetWallpaper.addExpectation( |
| 41 TestConstants.image, | 125 TestConstants.image, |
| 42 changes[Constants.AccessSyncWallpaperInfoKey].newValue.layout, | 126 changes[Constants.AccessSyncWallpaperInfoKey].newValue.layout, |
| 43 changes[Constants.AccessSyncWallpaperInfoKey].newValue.url); | 127 changes[Constants.AccessSyncWallpaperInfoKey].newValue.url); |
| 44 | 128 |
| 45 chrome.storage.onChanged.dispatch(changes); | 129 chrome.storage.onChanged.dispatch(changes); |
| 46 } | 130 } |
| OLD | NEW |