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

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

Issue 2950943002: MD Settings: Stop using IronMenuBehavior from cr-profile-avatar-selector-grid. (Closed)
Patch Set: Added comment. Created 3 years, 6 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_manage_profile', function() { 5 cr.define('settings_people_page_manage_profile', function() {
6 /** 6 /**
7 * @constructor 7 * @constructor
8 * @implements {settings.ManageProfileBrowserProxy} 8 * @implements {settings.ManageProfileBrowserProxy}
9 * @extends {TestBrowserProxy} 9 * @extends {TestBrowserProxy}
10 */ 10 */
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 manageProfile.profileName = 'Initial Fake Name'; 87 manageProfile.profileName = 'Initial Fake Name';
88 manageProfile.syncStatus = {supervisedUser: false, childUser: false}; 88 manageProfile.syncStatus = {supervisedUser: false, childUser: false};
89 document.body.appendChild(manageProfile); 89 document.body.appendChild(manageProfile);
90 settings.navigateTo(settings.Route.MANAGE_PROFILE); 90 settings.navigateTo(settings.Route.MANAGE_PROFILE);
91 }); 91 });
92 92
93 teardown(function() { manageProfile.remove(); }); 93 teardown(function() { manageProfile.remove(); });
94 94
95 // Tests that the manage profile subpage 95 // Tests that the manage profile subpage
96 // - gets and receives all the available icons 96 // - gets and receives all the available icons
97 // - has the correct icon selected
98 // - can select a new icon 97 // - can select a new icon
99 test('ManageProfileChangeIcon', function() { 98 test('ManageProfileChangeIcon', function() {
100 var selector = manageProfile.$.selector.$['avatar-grid']; 99 var items = null;
101 assertTrue(!!selector);
102
103 return browserProxy.whenCalled('getAvailableIcons') 100 return browserProxy.whenCalled('getAvailableIcons')
104 .then(function() { 101 .then(function() {
105 Polymer.dom.flush(); 102 Polymer.dom.flush();
103 items = manageProfile.$.selector.$['avatar-grid'].
104 querySelectorAll('.avatar');
106 105
107 assertEquals('fake-icon-1.png', manageProfile.profileIconUrl); 106 // Initially no item is selected, because of crbug.com/710660.
108 assertEquals(3, selector.items.length); 107 assertFalse(!!manageProfile.profileAvatar);
109 assertTrue(selector.items[0].classList.contains('iron-selected')); 108 assertEquals(3, items.length);
110 assertFalse( 109 assertFalse(items[0].classList.contains('iron-selected'));
111 selector.items[1].classList.contains('iron-selected')); 110 assertFalse(items[1].classList.contains('iron-selected'));
112 assertFalse( 111 assertFalse(items[2].classList.contains('iron-selected'));
113 selector.items[2].classList.contains('iron-selected'));
114 112
115 MockInteractions.tap(selector.items[1]); 113 MockInteractions.tap(items[1]);
116 return browserProxy.whenCalled('setProfileIconToDefaultAvatar'); 114 return browserProxy.whenCalled('setProfileIconToDefaultAvatar');
117 }) 115 })
118 .then(function(args) { 116 .then(function(args) {
119 assertEquals('fake-icon-2.png', args[0]); 117 assertEquals('fake-icon-2.png', args[0]);
120 118
121 MockInteractions.tap(selector.items[2]); 119 MockInteractions.tap(items[2]);
122 return browserProxy.whenCalled('setProfileIconToGaiaAvatar'); 120 return browserProxy.whenCalled('setProfileIconToGaiaAvatar');
123 }); 121 });
124 }); 122 });
125 123
126 // Tests profile icon updates pushed from the browser.
127 test('ManageProfileIconUpdated', function() {
128 var selector = manageProfile.$.selector.$['avatar-grid'];
129 assertTrue(!!selector);
130
131 return browserProxy.whenCalled('getAvailableIcons').then(function() {
132 manageProfile.profileIconUrl = 'fake-icon-2.png';
133
134 Polymer.dom.flush();
135
136 assertEquals('fake-icon-2.png', manageProfile.profileIconUrl);
137 assertEquals(3, selector.items.length);
138 assertFalse(selector.items[0].classList.contains('iron-selected'));
139 assertTrue(selector.items[1].classList.contains('iron-selected'));
140 assertFalse(selector.items[2].classList.contains('iron-selected'));
141 });
142 });
143
144 test('ManageProfileChangeName', function() { 124 test('ManageProfileChangeName', function() {
145 var nameField = manageProfile.$.name; 125 var nameField = manageProfile.$.name;
146 assertTrue(!!nameField); 126 assertTrue(!!nameField);
147 assertFalse(!!nameField.disabled); 127 assertFalse(!!nameField.disabled);
148 128
149 assertEquals('Initial Fake Name', nameField.value); 129 assertEquals('Initial Fake Name', nameField.value);
150 130
151 nameField.value = 'New Name'; 131 nameField.value = 'New Name';
152 nameField.fire('change'); 132 nameField.fire('change');
153 133
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 }); 266 });
287 }); 267 });
288 } 268 }
289 269
290 return { 270 return {
291 registerTests: function() { 271 registerTests: function() {
292 registerManageProfileTests(); 272 registerManageProfileTests();
293 }, 273 },
294 }; 274 };
295 }); 275 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698