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

Unified Diff: chrome/test/data/webui/settings/change_picture_browsertest_chromeos.js

Issue 1615093003: Settings People Revamp: Switch Change Picture to use iron-selector. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@0073-settings-add-preview-pic-and-camera-button
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/webui/settings/change_picture_browsertest_chromeos.js
diff --git a/chrome/test/data/webui/settings/change_picture_browsertest_chromeos.js b/chrome/test/data/webui/settings/change_picture_browsertest_chromeos.js
index cd8f5a5bf2e9e45be33392471da86119a9d9c5dc..54290bdaf1a3775de7762f1902eb0292da3ba802 100644
--- a/chrome/test/data/webui/settings/change_picture_browsertest_chromeos.js
+++ b/chrome/test/data/webui/settings/change_picture_browsertest_chromeos.js
@@ -55,95 +55,82 @@ TEST_F('SettingsChangePictureBrowserTest', 'MAYBE_ChangePicture', function() {
assertTrue(!!changePicture);
/**
- * Registers a callback to be called once when the selected image URL changes.
- * @param {!function()} callback
+ * Returns a promise that resolves once the selected item is updated.
+ * @param {!function()} action is executed after the listener is set up.
dpapad 2016/01/22 02:35:32 @return missing
tommycli 2016/01/22 19:24:40 Done.
dpapad 2016/01/22 20:12:25 Nit: "function" is also implied non-null (unless y
tommycli 2016/01/22 21:37:53 Done.
*/
- function whenSelectedImageUrlChanged() {
+ function runAndResolveWhenSelectedItemChanged(action) {
return new Promise(function(resolve, reject) {
var handler = function() {
- changePicture.removeEventListener('selected-image-url_-changed',
- handler);
+ changePicture.removeEventListener('selected-item_-changed', handler);
resolve();
};
- changePicture.addEventListener('selected-image-url_-changed', handler);
+ changePicture.addEventListener('selected-item_-changed', handler);
+ action();
});
}
suite('SettingsChangePicturePage', function() {
setup(function() {
// Reset the selected image to nothing.
- changePicture.selectedImageUrl_ = '';
+ changePicture.$.selector.selected = -1;
});
test('select camera image', function() {
- var cameraImage = changePicture.$$('#camera-image');
+ var cameraImage = changePicture.$$('img[data-type="camera"]');
assertTrue(!!cameraImage);
- assertFalse(changePicture.cameraActive_);
expectFalse(changePicture.$.previewImage.hidden);
MockInteractions.tap(cameraImage);
Polymer.dom.flush();
- expectTrue(changePicture.cameraActive_);
+ expectEquals('camera', changePicture.selectedItem_.dataset.type);
expectTrue(changePicture.$.previewImage.hidden);
});
test('select profile image', function() {
- var profileImage = changePicture.$$('#profile-image');
+ var profileImage = changePicture.$$('img[data-type="profile"]');
assertTrue(!!profileImage);
- MockInteractions.tap(profileImage);
-
- return whenSelectedImageUrlChanged().then(function() {
- expectEquals(changePicture.selectedImageUrl_,
- changePicture.profileImageUrl_);
-
+ return runAndResolveWhenSelectedItemChanged(function() {
+ MockInteractions.tap(profileImage);
+ }).then(function() {
Polymer.dom.flush();
- expectTrue(profileImage.active);
+ expectEquals('profile', changePicture.selectedItem_.dataset.type);
expectFalse(changePicture.$.previewImage.hidden);
});
});
test('select old images', function() {
- // By default there is no old image.
- var oldImage = changePicture.$$('#old-image');
- assertFalse(!!oldImage);
-
- // The promise must start listening for the property change before
- // we make the fake API call.
- var promise = whenSelectedImageUrlChanged();
-
- settings.ChangePicturePage.receiveOldImage('fake-old-image.jpg');
+ // By default there is no old image and the element is hidden.
+ var oldImage = changePicture.$$('img[data-type="old"]');
+ assertTrue(!!oldImage);
+ assertTrue(oldImage.hidden);
+
+ return runAndResolveWhenSelectedItemChanged(function() {
+ settings.ChangePicturePage.receiveOldImage('fake-old-image.jpg');
+ }).then(function() {
+ Polymer.dom.flush();
- return promise.then(function() {
// Expect the old image to be selected once an old image is sent via
// the native interface.
- expectEquals(changePicture.selectedImageUrl_,
- changePicture.oldImageUrl_);
-
- Polymer.dom.flush();
- var oldImage = changePicture.$$('#old-image');
- assertTrue(!!oldImage);
- expectTrue(oldImage.active);
+ expectEquals('old', changePicture.selectedItem_.dataset.type);
+ expectFalse(oldImage.hidden);
expectFalse(changePicture.$.previewImage.hidden);
});
});
test('select first default image', function() {
- var firstDefaultImage = changePicture.$$('.default-image');
+ var firstDefaultImage = changePicture.$$('img[data-type="default"]');
assertTrue(!!firstDefaultImage);
- MockInteractions.tap(firstDefaultImage);
-
- return whenSelectedImageUrlChanged().then(function() {
- // Expect the first default image to be selected.
- expectEquals(changePicture.selectedImageUrl_,
- changePicture.defaultImages_[0].url);
-
+ return runAndResolveWhenSelectedItemChanged(function() {
+ MockInteractions.tap(firstDefaultImage);
+ }).then(function() {
Polymer.dom.flush();
- expectTrue(firstDefaultImage.active);
+ expectEquals('default', changePicture.selectedItem_.dataset.type);
+ expectEquals(firstDefaultImage, changePicture.selectedItem_);
expectFalse(changePicture.$.previewImage.hidden);
});
});

Powered by Google App Engine
This is Rietveld 408576698