| Index: chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js
|
| diff --git a/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js b/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5d4de53de7c9d0f246fd238f3d0e65a10ad39f3b
|
| --- /dev/null
|
| +++ b/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js
|
| @@ -0,0 +1,108 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/**
|
| + * Used to create fake data for both passwords and autofill.
|
| + * These sections are related, so it made sense to share this.
|
| + */
|
| +function FakeDataMaker() {}
|
| +/**
|
| + * Creates a single item for the list of passwords.
|
| + * @param {string|undefined} url
|
| + * @param {string|undefined} username
|
| + * @param {number|undefined} passwordLength
|
| + * @return {chrome.passwordsPrivate.PasswordUiEntry}
|
| + */
|
| +FakeDataMaker.passwordEntry = function(url, username, passwordLength) {
|
| + // Generate fake data if param is undefined.
|
| + url = url || FakeDataMaker.patternMaker_('www.xxxxxx.com', 16);
|
| + username = username || FakeDataMaker.patternMaker_('user_xxxxx', 16);
|
| + passwordLength = passwordLength || Math.floor(Math.random() * 15) + 3;
|
| +
|
| + return {
|
| + loginPair: {
|
| + originUrl: url,
|
| + username: username,
|
| + },
|
| + linkUrl: 'http://' + url + '/login',
|
| + numCharactersInPassword: passwordLength,
|
| + };
|
| +};
|
| +
|
| +/**
|
| + * Creates a single item for the list of password exceptions.
|
| + * @param {string|undefined} url
|
| + * @return {chrome.passwordsPrivate.ExceptionPair}
|
| + */
|
| +FakeDataMaker.exceptionEntry = function(url) {
|
| + url = url || FakeDataMaker.patternMaker_('www.xxxxxx.com', 16);
|
| + return {
|
| + exceptionUrl: url,
|
| + linkUrl: 'http://' + url + '/login',
|
| + };
|
| +};
|
| +
|
| +/**
|
| + * Creates a fake address entry for testing.
|
| + * @return {!chrome.autofillPrivate.AddressEntry}
|
| + */
|
| +FakeDataMaker.addressEntry = function() {
|
| + var ret = {};
|
| + ret.guid = FakeDataMaker.makeGuid_();
|
| + ret.fullNames = ['John', 'Doe'];
|
| + ret.companyName = 'Google';
|
| + ret.addressLines = FakeDataMaker.patternMaker_('xxxx Main St', 10);
|
| + ret.addressLevel1 = "CA";
|
| + ret.addressLevel2 = "Venice";
|
| + ret.postalCode = FakeDataMaker.patternMaker_('xxxxx', 10);
|
| + ret.countryCode = 'US';
|
| + ret.phoneNumbers = [FakeDataMaker.patternMaker_('(xxx) xxx-xxxx', 10)];
|
| + ret.emailAddresses = [FakeDataMaker.patternMaker_('userxxxx@gmail.com', 16)];
|
| + ret.languageCode = 'EN-US';
|
| + ret.metadata = {isLocal: true};
|
| + ret.metadata.summaryLabel = ret.fullNames[0];
|
| + ret.metadata.summarySublabel = ' ' + ret.addressLines;
|
| + return ret;
|
| +};
|
| +
|
| +/**
|
| + * Creates a new random credit card entry for testing.
|
| + * @return {!chrome.autofillPrivate.CreditCardEntry}
|
| + */
|
| +FakeDataMaker.creditCardEntry = function() {
|
| + var ret = {};
|
| + ret.guid = FakeDataMaker.makeGuid_();
|
| + ret.name = 'Jane Doe';
|
| + ret.cardNumber = FakeDataMaker.patternMaker_('xxxx xxxx xxxx xxxx', 10);
|
| + ret.expirationMonth = Math.ceil(Math.random() * 11).toString();
|
| + ret.expirationYear = (2016 + Math.floor(Math.random() * 5)).toString();
|
| + ret.metadata = {isLocal: true};
|
| + var cards = ['Visa', 'Mastercard', 'Discover', 'Card'];
|
| + var card = cards[Math.floor(Math.random() * cards.length)];
|
| + ret.metadata.summaryLabel = card + ' ' + '****' + ret.cardNumber.substr(-4);
|
| + return ret;
|
| +};
|
| +
|
| +/**
|
| + * Creates a new random GUID for testing.
|
| + * @return {!string}
|
| + * @private
|
| + */
|
| +FakeDataMaker.makeGuid_ = function() {
|
| + return FakeDataMaker.patternMaker_(
|
| + 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 16);
|
| +};
|
| +
|
| +/**
|
| + * Replaces any 'x' in a string with a random number of the base.
|
| + * @param {!string} pattern The pattern that should be used as an input.
|
| + * @param {!number} base The number base. ie: 16 for hex or 10 for decimal.
|
| + * @return {!string}
|
| + * @private
|
| + */
|
| +FakeDataMaker.patternMaker_ = function(pattern, base) {
|
| + return pattern.replace(/x/g, function() {
|
| + return Math.floor(Math.random() * base).toString(base);
|
| + });
|
| +};
|
|
|