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

Side by Side Diff: chrome/test/data/webui/settings/people_page_change_picture_test.js

Issue 2626733002: MD Settings People: Fix ChromeOS Change Picture selected image bug (Closed)
Patch Set: fix indent Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/resources/settings/people_page/change_picture.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 cr.define('settings_people_page_change_picture', function() { 5 cr.define('settings_people_page_change_picture', function() {
6 /** 6 /**
7 * @constructor 7 * @constructor
8 * @implements {settings.ChangePictureBrowserProxy} 8 * @implements {settings.ChangePictureBrowserProxy}
9 * @extends {settings.TestBrowserProxy} 9 * @extends {settings.TestBrowserProxy}
10 */ 10 */
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 }, 78 },
79 }; 79 };
80 80
81 function registerChangePictureTests() { 81 function registerChangePictureTests() {
82 suite('ChangePictureTests', function() { 82 suite('ChangePictureTests', function() {
83 var changePicture = null; 83 var changePicture = null;
84 var browserProxy = null; 84 var browserProxy = null;
85 var settingsCamera = null; 85 var settingsCamera = null;
86 var discardControlBar = null; 86 var discardControlBar = null;
87 87
88 function getSelectedItem() {
89 return changePicture.$$('#selector .iron-selected');
90 }
91
92 suiteSetup(function() { 88 suiteSetup(function() {
93 loadTimeData.overrideValues({ 89 loadTimeData.overrideValues({
94 profilePhoto: 'Fake Profile Photo description', 90 profilePhoto: 'Fake Profile Photo description',
95 }); 91 });
96 }); 92 });
97 93
98 setup(function() { 94 setup(function() {
99 browserProxy = new TestChangePictureBrowserProxy(); 95 browserProxy = new TestChangePictureBrowserProxy();
100 settings.ChangePictureBrowserProxyImpl.instance_ = browserProxy; 96 settings.ChangePictureBrowserProxyImpl.instance_ = browserProxy;
101 PolymerTest.clearBody(); 97 PolymerTest.clearBody();
(...skipping 30 matching lines...) Expand all
132 128
133 expectFalse(cameraIcon.hidden); 129 expectFalse(cameraIcon.hidden);
134 expectFalse(settingsCamera.cameraActive); 130 expectFalse(settingsCamera.cameraActive);
135 131
136 MockInteractions.tap(cameraIcon); 132 MockInteractions.tap(cameraIcon);
137 133
138 Polymer.dom.flush(); 134 Polymer.dom.flush();
139 expectFalse(cameraIcon.hidden); 135 expectFalse(cameraIcon.hidden);
140 expectTrue(settingsCamera.cameraActive); 136 expectTrue(settingsCamera.cameraActive);
141 expectEquals(ChangePictureSelectionTypes.CAMERA, 137 expectEquals(ChangePictureSelectionTypes.CAMERA,
142 getSelectedItem().dataset.type); 138 changePicture.selectedItem_.dataset.type);
143 expectTrue(discardControlBar.hidden); 139 expectTrue(discardControlBar.hidden);
144 140
145 // Ensure that the camera is deactivated if user navigates away. 141 // Ensure that the camera is deactivated if user navigates away.
146 changePicture.currentRouteChanged(settings.Route.BASIC); 142 changePicture.currentRouteChanged(settings.Route.BASIC);
147 expectFalse(settingsCamera.cameraActive); 143 expectFalse(settingsCamera.cameraActive);
148 }); 144 });
149 145
150 test('ChangePictureProfileImage', function() { 146 test('ChangePictureProfileImage', function() {
151 var profileImage = changePicture.$.profileImage; 147 var profileImage = changePicture.$.profileImage;
152 assertTrue(!!profileImage); 148 assertTrue(!!profileImage);
153 149
154 expectEquals(null, getSelectedItem()); 150 expectEquals(undefined, changePicture.selectedItem_);
155 MockInteractions.tap(profileImage); 151 MockInteractions.tap(profileImage);
156 152
157 return browserProxy.whenCalled('selectProfileImage').then(function() { 153 return browserProxy.whenCalled('selectProfileImage').then(function() {
158 Polymer.dom.flush(); 154 Polymer.dom.flush();
159 155
160 expectEquals(ChangePictureSelectionTypes.PROFILE, 156 expectEquals(ChangePictureSelectionTypes.PROFILE,
161 getSelectedItem().dataset.type); 157 changePicture.selectedItem_.dataset.type);
162 expectFalse(settingsCamera.cameraActive); 158 expectFalse(settingsCamera.cameraActive);
163 expectTrue(discardControlBar.hidden); 159 expectTrue(discardControlBar.hidden);
160
161 // Ensure that the selection is restored after navigating away and
162 // then back to the subpage.
163 changePicture.currentRouteChanged(settings.Route.BASIC);
164 changePicture.currentRouteChanged(settings.Route.CHANGE_PICTURE);
165 expectEquals(ChangePictureSelectionTypes.PROFILE,
166 changePicture.selectedItem_.dataset.type);
164 }); 167 });
165 }); 168 });
166 169
167 test('ChangePictureOldImage', function() { 170 test('ChangePictureOldImage', function() {
168 // By default there is no old image and the element is hidden. 171 // By default there is no old image and the element is hidden.
169 var oldImage = changePicture.$.oldImage; 172 var oldImage = changePicture.$.oldImage;
170 assertTrue(!!oldImage); 173 assertTrue(!!oldImage);
171 assertTrue(oldImage.hidden); 174 assertTrue(oldImage.hidden);
172 175
173 cr.webUIListenerCallback('old-image-changed', 'fake-old-image.jpg'); 176 cr.webUIListenerCallback('old-image-changed', 'fake-old-image.jpg');
174 Polymer.dom.flush(); 177 Polymer.dom.flush();
175 178
176 // Expect the old image to be selected once an old image is sent via 179 // Expect the old image to be selected once an old image is sent via
177 // the native interface. 180 // the native interface.
178 expectEquals(ChangePictureSelectionTypes.OLD, 181 expectEquals(ChangePictureSelectionTypes.OLD,
179 getSelectedItem().dataset.type); 182 changePicture.selectedItem_.dataset.type);
180 expectFalse(oldImage.hidden); 183 expectFalse(oldImage.hidden);
181 expectFalse(settingsCamera.cameraActive); 184 expectFalse(settingsCamera.cameraActive);
182 expectFalse(discardControlBar.hidden); 185 expectFalse(discardControlBar.hidden);
183 }); 186 });
184 187
185 test('ChangePictureSelectFirstDefaultImage', function() { 188 test('ChangePictureSelectFirstDefaultImage', function() {
186 var firstDefaultImage = changePicture.$$('img[data-type="default"]'); 189 var firstDefaultImage = changePicture.$$('img[data-type="default"]');
187 assertTrue(!!firstDefaultImage); 190 assertTrue(!!firstDefaultImage);
188 191
189 MockInteractions.tap(firstDefaultImage); 192 MockInteractions.tap(firstDefaultImage);
190 193
191 return browserProxy.whenCalled('selectDefaultImage').then( 194 return browserProxy.whenCalled('selectDefaultImage').then(
192 function(args) { 195 function(args) {
193 expectEquals('chrome://foo/1.png', args[0]); 196 expectEquals('chrome://foo/1.png', args[0]);
194 197
195 Polymer.dom.flush(); 198 Polymer.dom.flush();
196 expectEquals(ChangePictureSelectionTypes.DEFAULT, 199 expectEquals(ChangePictureSelectionTypes.DEFAULT,
197 getSelectedItem().dataset.type); 200 changePicture.selectedItem_.dataset.type);
198 expectEquals(firstDefaultImage, getSelectedItem()); 201 expectEquals(firstDefaultImage, changePicture.selectedItem_);
199 expectFalse(settingsCamera.cameraActive); 202 expectFalse(settingsCamera.cameraActive);
200 expectTrue(discardControlBar.hidden); 203 expectTrue(discardControlBar.hidden);
201 }); 204 });
202 }); 205 });
203 206
204 test('ChangePictureRestoreImageAfterDiscard', function() { 207 test('ChangePictureRestoreImageAfterDiscard', function() {
205 var firstDefaultImage = changePicture.$$('img[data-type="default"]'); 208 var firstDefaultImage = changePicture.$$('img[data-type="default"]');
206 assertTrue(!!firstDefaultImage); 209 assertTrue(!!firstDefaultImage);
207 var discardOldImage = changePicture.$.discardOldImage; 210 var discardOldImage = changePicture.$.discardOldImage;
208 assertTrue(!!discardOldImage); 211 assertTrue(!!discardOldImage);
209 212
210 MockInteractions.tap(firstDefaultImage); 213 MockInteractions.tap(firstDefaultImage);
211 214
212 return browserProxy.whenCalled('selectDefaultImage').then(function() { 215 return browserProxy.whenCalled('selectDefaultImage').then(function() {
213 Polymer.dom.flush(); 216 Polymer.dom.flush();
214 expectEquals(firstDefaultImage, getSelectedItem()); 217 expectEquals(firstDefaultImage, changePicture.selectedItem_);
215 218
216 cr.webUIListenerCallback('old-image-changed', 'fake-old-image.jpg'); 219 cr.webUIListenerCallback('old-image-changed', 'fake-old-image.jpg');
217 220
218 Polymer.dom.flush(); 221 Polymer.dom.flush();
219 expectEquals(ChangePictureSelectionTypes.OLD, 222 expectEquals(ChangePictureSelectionTypes.OLD,
220 getSelectedItem().dataset.type); 223 changePicture.selectedItem_.dataset.type);
221 224
222 MockInteractions.tap(discardOldImage); 225 MockInteractions.tap(discardOldImage);
223 226
224 Polymer.dom.flush(); 227 Polymer.dom.flush();
225 expectEquals(firstDefaultImage, getSelectedItem()); 228 expectEquals(firstDefaultImage, changePicture.selectedItem_);
226 }); 229 });
227 }); 230 });
228 }); 231 });
229 } 232 }
230 233
231 return { 234 return {
232 registerTests: function() { 235 registerTests: function() {
233 registerChangePictureTests(); 236 registerChangePictureTests();
234 }, 237 },
235 }; 238 };
236 }); 239 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/people_page/change_picture.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698