| Index: chrome/browser/ui/webui/options/autofill_options_browsertest.js
|
| diff --git a/chrome/browser/ui/webui/options/autofill_options_browsertest.js b/chrome/browser/ui/webui/options/autofill_options_browsertest.js
|
| index 690f29242c76502417d365c48b3fe272db52231a..68ad5cf0cfb9a32256fc540abd0f5a006ed45871 100644
|
| --- a/chrome/browser/ui/webui/options/autofill_options_browsertest.js
|
| +++ b/chrome/browser/ui/webui/options/autofill_options_browsertest.js
|
| @@ -3,6 +3,26 @@
|
| // found in the LICENSE file.
|
|
|
| /**
|
| + * Returns the HTML element for the |field|.
|
| + * @param {string} field The field name for the element.
|
| + * @return {HTMLElement} The HTML element.
|
| + */
|
| +function getField(field) {
|
| + return document.querySelector(
|
| + '#autofill-edit-address-overlay [field=' + field + ']');
|
| +}
|
| +
|
| +/**
|
| + * Returns the size of the |list|.
|
| + * @param {HTMLElement} list The list to check.
|
| + * @return {int} The size of the list.
|
| + */
|
| +function getListSize(list) {
|
| + // Remove 1 for placeholder input field.
|
| + return list.items.length - 1;
|
| +}
|
| +
|
| +/**
|
| * TestFixture for autofill options WebUI testing.
|
| * @extends {testing.Test}
|
| * @constructor
|
| @@ -47,7 +67,7 @@ TEST_F('AutofillEditAddressWebUITest',
|
| function() {
|
| assertEquals(this.browsePreload, document.location.href);
|
|
|
| - var phoneList = $('phone-list');
|
| + var phoneList = getField('phone');
|
| expectEquals(0, phoneList.validationRequests_);
|
| phoneList.doneValidating().then(function() {
|
| phoneList.focus();
|
| @@ -61,3 +81,99 @@ TEST_F('AutofillEditAddressWebUITest',
|
| });
|
| });
|
| });
|
| +
|
| +TEST_F('AutofillEditAddressWebUITest',
|
| + 'testInitialFormLayout',
|
| + function() {
|
| + assertEquals(this.browsePreload, document.location.href);
|
| +
|
| + assertEquals(getField('country').value, '');
|
| + assertEquals(0, getListSize(getField('phone')));
|
| + assertEquals(0, getListSize(getField('email')));
|
| + assertEquals(0, getListSize(getField('fullName')));
|
| + assertEquals('', getField('city').value);
|
| +
|
| + testDone();
|
| +});
|
| +
|
| +TEST_F('AutofillEditAddressWebUITest',
|
| + 'testLoadAddress',
|
| + function() {
|
| + assertEquals(this.browsePreload, document.location.href);
|
| +
|
| + var testAddress = {
|
| + guid: 'GUID Value',
|
| + fullName: ['Full Name 1', 'Full Name 2'],
|
| + companyName: 'Company Name Value',
|
| + addrLines: 'First Line Value\nSecond Line Value',
|
| + dependentLocality: 'Dependent Locality Value',
|
| + city: 'City Value',
|
| + state: 'State Value',
|
| + postalCode: 'Postal Code Value',
|
| + sortingCode: 'Sorting Code Value',
|
| + country: 'CH',
|
| + phone: ['123', '456'],
|
| + email: ['a@b.c', 'x@y.z'],
|
| + languageCode: 'de',
|
| + components: [[
|
| + {field: 'postalCode', length: 'short'},
|
| + {field: 'sortingCode', length: 'short'},
|
| + {field: 'dependentLocality', length: 'short'},
|
| + {field: 'city', length: 'short'},
|
| + {field: 'state', length: 'short'},
|
| + {field: 'addrLines', length: 'long'},
|
| + {field: 'companyName', length: 'long'},
|
| + {field: 'country', length: 'long'},
|
| + {field: 'fullName', length: 'long', placeholder: 'Add name'}
|
| + ]]
|
| + };
|
| + AutofillEditAddressOverlay.loadAddress(testAddress);
|
| +
|
| + assertEquals(testAddress.guid, AutofillEditAddressOverlay.getInstance().guid);
|
| + assertEquals(testAddress.languageCode,
|
| + AutofillEditAddressOverlay.getInstance().languageCode);
|
| +
|
| + var lists = ['fullName', 'email', 'phone'];
|
| + for (var i in lists) {
|
| + var field = getField(lists[i]);
|
| + assertEquals(testAddress[lists[i]].length, getListSize(field));
|
| + assertTrue(field.getAttribute('placeholder').length > 0);
|
| + assertTrue(field instanceof cr.ui.List);
|
| + }
|
| +
|
| + var inputs = ['companyName', 'dependentLocality', 'city', 'state',
|
| + 'postalCode', 'sortingCode'];
|
| + for (var i in inputs) {
|
| + var field = getField(inputs[i]);
|
| + assertEquals(testAddress[inputs[i]], field.value);
|
| + assertTrue(field instanceof HTMLInputElement);
|
| + }
|
| +
|
| + var addrLines = getField('addrLines');
|
| + assertEquals(testAddress.addrLines, addrLines.value);
|
| + assertTrue(addrLines instanceof HTMLTextAreaElement);
|
| +
|
| + var country = getField('country');
|
| + assertEquals(testAddress.country, country.value);
|
| + assertTrue(country instanceof HTMLSelectElement);
|
| +
|
| + testDone();
|
| +});
|
| +
|
| +TEST_F('AutofillEditAddressWebUITest',
|
| + 'testLoadAddressComponents',
|
| + function() {
|
| + assertEquals(this.browsePreload, document.location.href);
|
| +
|
| + var testInput = {
|
| + languageCode: 'fr',
|
| + components: [[{field: 'city'}],
|
| + [{field: 'state'}]]
|
| + };
|
| + AutofillEditAddressOverlay.loadAddressComponents(testInput);
|
| +
|
| + assertEquals('fr', AutofillEditAddressOverlay.getInstance().languageCode);
|
| + expectEquals(2, $('autofill-edit-address-fields').children.length);
|
| +
|
| + testDone();
|
| +});
|
|
|