Commit 91f96019 authored by Scott Chen's avatar Scott Chen Committed by Commit Bot

MD Extension: Refactor browser tests.

- Removes unnecessary registerTests()
- Breaks down CrExtensionBrowserTest to smaller sub-classes so test files are included as needed, instead of loading all test files in each TEST_F. (This reduced the generated .cc file from 25XX lines to 16XX lines).
- Allow (in the future) each sub-classes to specify a more specific browserPreload url instead of always loading the entire page.

Bug: 750842
Change-Id: I9e178728724f41c63e59b4edc81589b4366c9df9
Reviewed-on: https://chromium-review.googlesource.com/595188
Commit-Queue: Scott Chen <scottchen@chromium.org>
Reviewed-by: default avatarDemetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491847}
parent e83863fb
...@@ -9,7 +9,6 @@ cr.define('extension_code_section_tests', function() { ...@@ -9,7 +9,6 @@ cr.define('extension_code_section_tests', function() {
Layout: 'layout', Layout: 'layout',
}; };
function registerTests() {
suite('ExtensionCodeSectionTest', function() { suite('ExtensionCodeSectionTest', function() {
/** @type {chrome.developerPrivate.RequestFileSourceResponse} */ /** @type {chrome.developerPrivate.RequestFileSourceResponse} */
var code = { var code = {
...@@ -39,8 +38,7 @@ cr.define('extension_code_section_tests', function() { ...@@ -39,8 +38,7 @@ cr.define('extension_code_section_tests', function() {
test(assert(TestNames.Layout), function() { test(assert(TestNames.Layout), function() {
Polymer.dom.flush(); Polymer.dom.flush();
var testIsVisible = var testIsVisible = extension_test_util.isVisible.bind(null, codeSection);
extension_test_util.isVisible.bind(null, codeSection);
expectFalse(!!codeSection.code); expectFalse(!!codeSection.code);
expectTrue(codeSection.isEmpty()); expectTrue(codeSection.isEmpty());
expectTrue(codeSection.$$('#main').hidden); expectTrue(codeSection.$$('#main').hidden);
...@@ -59,14 +57,12 @@ cr.define('extension_code_section_tests', function() { ...@@ -59,14 +57,12 @@ cr.define('extension_code_section_tests', function() {
var highlightSpan = codeSection.$$('.highlight'); var highlightSpan = codeSection.$$('.highlight');
expectEquals(code.highlight, highlightSpan.textContent); expectEquals(code.highlight, highlightSpan.textContent);
expectEquals(code.message, highlightSpan.title); expectEquals(code.message, highlightSpan.title);
expectEquals('1\n2\n3\n4', expectEquals(
codeSection.$['line-numbers'].textContent.trim()); '1\n2\n3\n4', codeSection.$['line-numbers'].textContent.trim());
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -10,7 +10,6 @@ cr.define('extension_detail_view_tests', function() { ...@@ -10,7 +10,6 @@ cr.define('extension_detail_view_tests', function() {
ClickableElements: 'clickable elements', ClickableElements: 'clickable elements',
}; };
function registerTests() {
suite('ExtensionItemTest', function() { suite('ExtensionItemTest', function() {
/** /**
* Extension item created before each test. * Extension item created before each test.
...@@ -87,23 +86,22 @@ cr.define('extension_detail_view_tests', function() { ...@@ -87,23 +86,22 @@ cr.define('extension_detail_view_tests', function() {
} }
expectFalse(testIsVisible('#dependent-extensions-list')); expectFalse(testIsVisible('#dependent-extensions-list'));
item.set('data.dependentExtensions', item.set(
[{id: 'aaa', name: 'Dependent1'}, 'data.dependentExtensions',
{id: 'bbb', name: 'Dependent2'}]); [{id: 'aaa', name: 'Dependent1'}, {id: 'bbb', name: 'Dependent2'}]);
Polymer.dom.flush(); Polymer.dom.flush();
expectTrue(testIsVisible('#dependent-extensions-list')); expectTrue(testIsVisible('#dependent-extensions-list'));
expectEquals(2, expectEquals(
item.$$('#dependent-extensions-list').querySelectorAll( 2,
'li').length); item.$$('#dependent-extensions-list').querySelectorAll('li').length);
expectFalse(testIsVisible('#permissions-list')); expectFalse(testIsVisible('#permissions-list'));
expectTrue(testIsVisible('#no-permissions')); expectTrue(testIsVisible('#no-permissions'));
item.set('data.permissions', ['Permission 1', 'Permission 2']); item.set('data.permissions', ['Permission 1', 'Permission 2']);
Polymer.dom.flush(); Polymer.dom.flush();
expectTrue(testIsVisible('#permissions-list')); expectTrue(testIsVisible('#permissions-list'));
expectEquals(2, expectEquals(
item.$$('#permissions-list').querySelectorAll('li'). 2, item.$$('#permissions-list').querySelectorAll('li').length);
length);
expectFalse(testIsVisible('#no-permissions')); expectFalse(testIsVisible('#no-permissions'));
var optionsUrl = var optionsUrl =
...@@ -144,14 +142,11 @@ cr.define('extension_detail_view_tests', function() { ...@@ -144,14 +142,11 @@ cr.define('extension_detail_view_tests', function() {
item.$$('#extensions-options'), 'showItemOptionsPage', item.$$('#extensions-options'), 'showItemOptionsPage',
[extensionData.id]); [extensionData.id]);
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
item.$$('#remove-extension'), 'deleteItem', item.$$('#remove-extension'), 'deleteItem', [extensionData.id]);
[extensionData.id]);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -32,7 +32,6 @@ cr.define('extension_error_page_tests', function() { ...@@ -32,7 +32,6 @@ cr.define('extension_error_page_tests', function() {
}, },
}; };
function registerTests() {
suite('ExtensionErrorPageTest', function() { suite('ExtensionErrorPageTest', function() {
/** @type {chrome.developerPrivate.ExtensionInfo} */ /** @type {chrome.developerPrivate.ExtensionInfo} */
var extensionData; var extensionData;
...@@ -66,12 +65,14 @@ cr.define('extension_error_page_tests', function() { ...@@ -66,12 +65,14 @@ cr.define('extension_error_page_tests', function() {
// Initialize an extension item before each test. // Initialize an extension item before each test.
setup(function() { setup(function() {
PolymerTest.clearBody(); PolymerTest.clearBody();
var runtimeError = Object.assign({ var runtimeError = Object.assign(
{
source: 'chrome-extension://' + extensionId + '/source.html', source: 'chrome-extension://' + extensionId + '/source.html',
message: 'message', message: 'message',
id: 1, id: 1,
severity: chrome.developerPrivate.ErrorLevel.ERROR, severity: chrome.developerPrivate.ErrorLevel.ERROR,
}, runtimeErrorBase); },
runtimeErrorBase);
extensionData = extension_test_util.createExtensionInfo({ extensionData = extension_test_util.createExtensionInfo({
runtimeErrors: [runtimeError], runtimeErrors: [runtimeError],
manifestErrors: [], manifestErrors: [],
...@@ -97,17 +98,18 @@ cr.define('extension_error_page_tests', function() { ...@@ -97,17 +98,18 @@ cr.define('extension_error_page_tests', function() {
expectEquals(1, errorElements.length); expectEquals(1, errorElements.length);
var error = errorElements[0]; var error = errorElements[0];
expectEquals( expectEquals(
'message', 'message', error.querySelector('.error-message').textContent.trim());
error.querySelector('.error-message').textContent.trim()); expectTrue(
expectTrue(error.querySelector('img').classList.contains( error.querySelector('img').classList.contains('icon-severity-fatal'));
'icon-severity-fatal'));
var manifestError = Object.assign({ var manifestError = Object.assign(
{
source: 'manifest.json', source: 'manifest.json',
message: 'invalid key', message: 'invalid key',
id: 2, id: 2,
manifestKey: 'permissions', manifestKey: 'permissions',
}, manifestErrorBase); },
manifestErrorBase);
errorPage.set('data.manifestErrors', [manifestError]); errorPage.set('data.manifestErrors', [manifestError]);
Polymer.dom.flush(); Polymer.dom.flush();
errorElements = errorPage.querySelectorAll('* /deep/ .error-item'); errorElements = errorPage.querySelectorAll('* /deep/ .error-item');
...@@ -149,12 +151,14 @@ cr.define('extension_error_page_tests', function() { ...@@ -149,12 +151,14 @@ cr.define('extension_error_page_tests', function() {
}); });
test(assert(TestNames.ErrorSelection), function() { test(assert(TestNames.ErrorSelection), function() {
var nextRuntimeError = Object.assign({ var nextRuntimeError = Object.assign(
{
source: 'chrome-extension://' + extensionId + '/other_source.html', source: 'chrome-extension://' + extensionId + '/other_source.html',
message: 'Other error', message: 'Other error',
id: 2, id: 2,
severity: chrome.developerPrivate.ErrorLevel.ERROR, severity: chrome.developerPrivate.ErrorLevel.ERROR,
}, runtimeErrorBase); },
runtimeErrorBase);
// Add a new runtime error to the end. // Add a new runtime error to the end.
errorPage.push('data.runtimeErrors', nextRuntimeError); errorPage.push('data.runtimeErrors', nextRuntimeError);
Polymer.dom.flush(); Polymer.dom.flush();
...@@ -182,10 +186,8 @@ cr.define('extension_error_page_tests', function() { ...@@ -182,10 +186,8 @@ cr.define('extension_error_page_tests', function() {
expectEquals('other_source.html', args.pathSuffix); expectEquals('other_source.html', args.pathSuffix);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -11,7 +11,6 @@ cr.define('extension_item_list_tests', function() { ...@@ -11,7 +11,6 @@ cr.define('extension_item_list_tests', function() {
ItemListNoSearchResultsMsg: 'empty item list filtering results', ItemListNoSearchResultsMsg: 'empty item list filtering results',
}; };
function registerTests() {
suite('ExtensionItemListTest', function() { suite('ExtensionItemListTest', function() {
/** @type {extensions.ItemList} */ /** @type {extensions.ItemList} */
var itemList; var itemList;
...@@ -28,10 +27,11 @@ cr.define('extension_item_list_tests', function() { ...@@ -28,10 +27,11 @@ cr.define('extension_item_list_tests', function() {
testVisible = extension_test_util.testVisible.bind(null, itemList); testVisible = extension_test_util.testVisible.bind(null, itemList);
var createExt = extension_test_util.createExtensionInfo; var createExt = extension_test_util.createExtensionInfo;
var items = var items = [
[createExt({name: 'Alpha', id: 'a'.repeat(32)}), createExt({name: 'Alpha', id: 'a'.repeat(32)}),
createExt({name: 'Bravo', id: 'b'.repeat(32)}), createExt({name: 'Bravo', id: 'b'.repeat(32)}),
createExt({name: 'Charlie', id: 'c'.repeat(32)})]; createExt({name: 'Charlie', id: 'c'.repeat(32)})
];
itemList.items = items; itemList.items = items;
itemList.filter = ''; itemList.filter = '';
document.body.appendChild(itemList); document.body.appendChild(itemList);
...@@ -84,10 +84,8 @@ cr.define('extension_item_list_tests', function() { ...@@ -84,10 +84,8 @@ cr.define('extension_item_list_tests', function() {
testVisible('#no-search-results', true); testVisible('#no-search-results', true);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -75,7 +75,6 @@ cr.define('extension_item_tests', function() { ...@@ -75,7 +75,6 @@ cr.define('extension_item_tests', function() {
RemoveButton: 'remove button hidden when necessary', RemoveButton: 'remove button hidden when necessary',
}; };
function registerTests() {
suite('ExtensionItemTest', function() { suite('ExtensionItemTest', function() {
/** /**
* Extension item created before each test. * Extension item created before each test.
...@@ -130,18 +129,18 @@ cr.define('extension_item_tests', function() { ...@@ -130,18 +129,18 @@ cr.define('extension_item_tests', function() {
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
item.$['enable-toggle'], 'setItemEnabled', [item.data.id, false]); item.$['enable-toggle'], 'setItemEnabled', [item.data.id, false]);
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
item.$$('#inspect-views a[is="action-link"]'), item.$$('#inspect-views a[is="action-link"]'), 'inspectItemView',
'inspectItemView', [item.data.id, item.data.views[0]]); [item.data.id, item.data.views[0]]);
var listener1 = new extension_test_util.ListenerMock(); var listener1 = new extension_test_util.ListenerMock();
listener1.addListener(item, 'extension-item-show-details', listener1.addListener(
{data: item.data}); item, 'extension-item-show-details', {data: item.data});
MockInteractions.tap(item.$$('#details-button')); MockInteractions.tap(item.$$('#details-button'));
listener1.verify(); listener1.verify();
var listener2 = new extension_test_util.ListenerMock(); var listener2 = new extension_test_util.ListenerMock();
listener2.addListener(item, 'extension-item-show-details', listener2.addListener(
{data: item.data}); item, 'extension-item-show-details', {data: item.data});
MockInteractions.tap( MockInteractions.tap(
item.$$('#inspect-views a[is="action-link"]:nth-of-type(2)')); item.$$('#inspect-views a[is="action-link"]:nth-of-type(2)'));
listener2.verify(); listener2.verify();
...@@ -251,10 +250,8 @@ cr.define('extension_item_tests', function() { ...@@ -251,10 +250,8 @@ cr.define('extension_item_tests', function() {
expectTrue(item.$['remove-button'].hidden); expectTrue(item.$['remove-button'].hidden);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -12,7 +12,6 @@ cr.define('extension_keyboard_shortcut_tests', function() { ...@@ -12,7 +12,6 @@ cr.define('extension_keyboard_shortcut_tests', function() {
ShortcutUtil: 'ExtensionShortcutUtilTest', ShortcutUtil: 'ExtensionShortcutUtilTest',
}; };
function registerTests() {
suite('ExtensionKeyboardShortcutTest', function() { suite('ExtensionKeyboardShortcutTest', function() {
/** @type {extensions.KeyboardShortcuts} */ /** @type {extensions.KeyboardShortcuts} */
var keyboardShortcuts; var keyboardShortcuts;
...@@ -42,21 +41,24 @@ cr.define('extension_keyboard_shortcut_tests', function() { ...@@ -42,21 +41,24 @@ cr.define('extension_keyboard_shortcut_tests', function() {
}); });
twoCommands = createInfo({ twoCommands = createInfo({
id: 'c'.repeat(32), id: 'c'.repeat(32),
commands: [{ commands: [
{
description: 'Another Description', description: 'Another Description',
keybinding: 'Alt+F4', keybinding: 'Alt+F4',
name: 'cCommand', name: 'cCommand',
isActive: true, isActive: true,
scope: 'GLOBAL', scope: 'GLOBAL',
isExtensionAction: false, isExtensionAction: false,
}, { },
{
description: 'Yet Another Description', description: 'Yet Another Description',
keybinding: '', keybinding: '',
name: 'cCommand2', name: 'cCommand2',
isActive: false, isActive: false,
scope: 'CHROME', scope: 'CHROME',
isExtensionAction: false, isExtensionAction: false,
}] }
]
}); });
keyboardShortcuts.set('items', [noCommands, oneCommand, twoCommands]); keyboardShortcuts.set('items', [noCommands, oneCommand, twoCommands]);
...@@ -77,8 +79,8 @@ cr.define('extension_keyboard_shortcut_tests', function() { ...@@ -77,8 +79,8 @@ cr.define('extension_keyboard_shortcut_tests', function() {
assertEquals(2, cards.length); assertEquals(2, cards.length);
var card1 = cards[0]; var card1 = cards[0];
expectEquals(oneCommand.name, expectEquals(
card1.querySelector('.card-title span').textContent); oneCommand.name, card1.querySelector('.card-title span').textContent);
var commands = card1.querySelectorAll('.command-entry'); var commands = card1.querySelectorAll('.command-entry');
assertEquals(1, commands.length); assertEquals(1, commands.length);
expectTrue(isVisibleOnCard(commands[0], '.command-name')); expectTrue(isVisibleOnCard(commands[0], '.command-name'));
...@@ -89,6 +91,7 @@ cr.define('extension_keyboard_shortcut_tests', function() { ...@@ -89,6 +91,7 @@ cr.define('extension_keyboard_shortcut_tests', function() {
assertEquals(2, commands.length); assertEquals(2, commands.length);
}); });
}); });
suite(assert(TestNames.ShortcutUtil), function() { suite(assert(TestNames.ShortcutUtil), function() {
test('isValidKeyCode test', function() { test('isValidKeyCode test', function() {
expectTrue(extensions.isValidKeyCode('A'.charCodeAt(0))); expectTrue(extensions.isValidKeyCode('A'.charCodeAt(0)));
...@@ -117,10 +120,8 @@ cr.define('extension_keyboard_shortcut_tests', function() { ...@@ -117,10 +120,8 @@ cr.define('extension_keyboard_shortcut_tests', function() {
expectEquals('Ctrl+Shift+A', extensions.keystrokeToString(e)); expectEquals('Ctrl+Shift+A', extensions.keystrokeToString(e));
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -24,7 +24,6 @@ cr.define('extension_load_error_tests', function() { ...@@ -24,7 +24,6 @@ cr.define('extension_load_error_tests', function() {
retryLoadUnpacked: function() {}, retryLoadUnpacked: function() {},
}; };
function registerTests() {
suite('ExtensionLoadErrorTests', function() { suite('ExtensionLoadErrorTests', function() {
/** @type {extensions.LoadError} */ /** @type {extensions.LoadError} */
var loadError; var loadError;
...@@ -85,10 +84,8 @@ cr.define('extension_load_error_tests', function() { ...@@ -85,10 +84,8 @@ cr.define('extension_load_error_tests', function() {
expectFalse(loadError.$.code.isEmpty()); expectFalse(loadError.$.code.isEmpty());
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -18,7 +18,6 @@ cr.define('extension_manager_tests', function() { ...@@ -18,7 +18,6 @@ cr.define('extension_manager_tests', function() {
return assert(list.find(function(el) { return el.name == name; })); return assert(list.find(function(el) { return el.name == name; }));
} }
function registerTests() {
suite('ExtensionManagerTest', function() { suite('ExtensionManagerTest', function() {
/** @type {extensions.Manager} */ /** @type {extensions.Manager} */
var manager; var manager;
...@@ -198,10 +197,8 @@ cr.define('extension_manager_tests', function() { ...@@ -198,10 +197,8 @@ cr.define('extension_manager_tests', function() {
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -24,7 +24,6 @@ cr.define('extension_navigation_helper_tests', function() { ...@@ -24,7 +24,6 @@ cr.define('extension_navigation_helper_tests', function() {
}); });
} }
function registerTests() {
suite('ExtensionNavigationHelperTest', function() { suite('ExtensionNavigationHelperTest', function() {
setup(function() { setup(function() {
PolymerTest.clearBody(); PolymerTest.clearBody();
...@@ -39,8 +38,7 @@ cr.define('extension_navigation_helper_tests', function() { ...@@ -39,8 +38,7 @@ cr.define('extension_navigation_helper_tests', function() {
}; };
var navigationHelper = new extensions.NavigationHelper(changePage); var navigationHelper = new extensions.NavigationHelper(changePage);
expectEquals('chrome://extensions/navigation_helper.html', expectEquals('chrome://extensions/navigation_helper.html', location.href);
location.href);
expectDeepEquals({page: Page.LIST}, navigationHelper.getCurrentPage()); expectDeepEquals({page: Page.LIST}, navigationHelper.getCurrentPage());
var currentLength = history.length; var currentLength = history.length;
...@@ -53,14 +51,16 @@ cr.define('extension_navigation_helper_tests', function() { ...@@ -53,14 +51,16 @@ cr.define('extension_navigation_helper_tests', function() {
mock.addExpectation({page: Page.DETAILS, extensionId: id}); mock.addExpectation({page: Page.DETAILS, extensionId: id});
var waitForPop = getOnPopState(); var waitForPop = getOnPopState();
history.back(); history.back();
return waitForPop.then(() => { return waitForPop
.then(() => {
mock.verifyMock(); mock.verifyMock();
mock.addExpectation({page: Page.LIST}); mock.addExpectation({page: Page.LIST});
var waitForNextPop = getOnPopState(); var waitForNextPop = getOnPopState();
history.back(); history.back();
return waitForNextPop; return waitForNextPop;
}).then(() => { })
.then(() => {
mock.verifyMock(); mock.verifyMock();
}); });
}); });
...@@ -151,10 +151,8 @@ cr.define('extension_navigation_helper_tests', function() { ...@@ -151,10 +151,8 @@ cr.define('extension_navigation_helper_tests', function() {
expectEquals(++expectedLength, history.length); expectEquals(++expectedLength, history.length);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -15,7 +15,6 @@ cr.define('extension_options_dialog_tests', function() { ...@@ -15,7 +15,6 @@ cr.define('extension_options_dialog_tests', function() {
var MIN_HEIGHT = '300px'; var MIN_HEIGHT = '300px';
var MIN_WIDTH = '300px'; var MIN_WIDTH = '300px';
function registerTests() {
suite('ExtensionOptionsDialogTests', function() { suite('ExtensionOptionsDialogTests', function() {
/** @type {extensions.OptionsDialog} */ /** @type {extensions.OptionsDialog} */
var optionsDialog; var optionsDialog;
...@@ -43,8 +42,8 @@ cr.define('extension_options_dialog_tests', function() { ...@@ -43,8 +42,8 @@ cr.define('extension_options_dialog_tests', function() {
expectTrue(isDialogVisible()); expectTrue(isDialogVisible());
expectEquals( expectEquals(
data.name, data.name,
assert(optionsDialog.$$('#icon-and-name-wrapper span')). assert(optionsDialog.$$('#icon-and-name-wrapper span'))
textContent.trim()); .textContent.trim());
var optionEle = optionsDialog.$$('extensionoptions'); var optionEle = optionsDialog.$$('extensionoptions');
...@@ -76,16 +75,15 @@ cr.define('extension_options_dialog_tests', function() { ...@@ -76,16 +75,15 @@ cr.define('extension_options_dialog_tests', function() {
expectFalse(isDialogVisible()); expectFalse(isDialogVisible());
// Try showing a second extension with a longer name. // Try showing a second extension with a longer name.
var secondExtension = extension_test_util.createExtensionInfo({ var secondExtension = extension_test_util.createExtensionInfo(
name: 'Super long named extension for the win' {name: 'Super long named extension for the win'});
});
optionsDialog.show(secondExtension); optionsDialog.show(secondExtension);
expectTrue(isDialogVisible()); expectTrue(isDialogVisible());
expectEquals(secondExtension.id, mockOptions.extension); expectEquals(secondExtension.id, mockOptions.extension);
expectEquals( expectEquals(
secondExtension.name, secondExtension.name,
assert(optionsDialog.$$('#icon-and-name-wrapper span')). assert(optionsDialog.$$('#icon-and-name-wrapper span'))
textContent.trim()); .textContent.trim());
// The width of the dialog should be set to match the width of the // The width of the dialog should be set to match the width of the
// header, which is greater than the default min width. // header, which is greater than the default min width.
expectTrue(optionsDialog.$.dialog.style.width > MIN_WIDTH); expectTrue(optionsDialog.$.dialog.style.width > MIN_WIDTH);
...@@ -99,10 +97,8 @@ cr.define('extension_options_dialog_tests', function() { ...@@ -99,10 +97,8 @@ cr.define('extension_options_dialog_tests', function() {
expectEquals(MIN_WIDTH, optionEle.style.width); expectEquals(MIN_WIDTH, optionEle.style.width);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -52,7 +52,6 @@ cr.define('extension_pack_dialog_tests', function() { ...@@ -52,7 +52,6 @@ cr.define('extension_pack_dialog_tests', function() {
return rect.width * rect.height > 0; return rect.width * rect.height > 0;
}; };
function registerTests() {
suite('ExtensionPackDialogTests', function() { suite('ExtensionPackDialogTests', function() {
/** @type {extensions.PackDialog} */ /** @type {extensions.PackDialog} */
var packDialog; var packDialog;
...@@ -216,10 +215,8 @@ cr.define('extension_pack_dialog_tests', function() { ...@@ -216,10 +215,8 @@ cr.define('extension_pack_dialog_tests', function() {
}); });
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -66,7 +66,6 @@ cr.define('extension_service_tests', function() { ...@@ -66,7 +66,6 @@ cr.define('extension_service_tests', function() {
ProfileSettings: 'profile settings', ProfileSettings: 'profile settings',
}; };
function registerTests() {
suite('ExtensionServiceTest', function() { suite('ExtensionServiceTest', function() {
/** @const{string} */ /** @const{string} */
var kExtensionId = 'ldnnhddmnhbkjipkidpdiheffobcpfmf'; var kExtensionId = 'ldnnhddmnhbkjipkidpdiheffobcpfmf';
...@@ -84,9 +83,10 @@ cr.define('extension_service_tests', function() { ...@@ -84,9 +83,10 @@ cr.define('extension_service_tests', function() {
var manager; var manager;
var getItemData = function(id) { var getItemData = function(id) {
var elMatches = function(el) { return el.id == id; }; var elMatches = function(el) {
return manager.extensions.find(elMatches) || return el.id == id;
manager.apps.find(elMatches); };
return manager.extensions.find(elMatches) || manager.apps.find(elMatches);
}; };
suiteSetup(function() { suiteSetup(function() {
...@@ -109,9 +109,10 @@ cr.define('extension_service_tests', function() { ...@@ -109,9 +109,10 @@ cr.define('extension_service_tests', function() {
var disabledListener = var disabledListener =
new ItemChangedListener(kExtensionId, EventType.UNLOADED); new ItemChangedListener(kExtensionId, EventType.UNLOADED);
service.setItemEnabled(kExtensionId, false); service.setItemEnabled(kExtensionId, false);
disabledListener.onUpdate.then(function() { disabledListener.onUpdate
// Note: we need to re-get the item since the object in the manager's .then(function() {
// collection was replaced, rather than updated. // Note: we need to re-get the item since the object in the
// manager's collection was replaced, rather than updated.
var item = getItemData(kExtensionId); var item = getItemData(kExtensionId);
assertTrue(!!item); assertTrue(!!item);
expectEquals(ExtensionState.DISABLED, item.state); expectEquals(ExtensionState.DISABLED, item.state);
...@@ -120,7 +121,8 @@ cr.define('extension_service_tests', function() { ...@@ -120,7 +121,8 @@ cr.define('extension_service_tests', function() {
new ItemChangedListener(kExtensionId, EventType.LOADED); new ItemChangedListener(kExtensionId, EventType.LOADED);
service.setItemEnabled(kExtensionId, true); service.setItemEnabled(kExtensionId, true);
return enabledListener.onUpdate; return enabledListener.onUpdate;
}).then(function() { })
.then(function() {
var item = getItemData(kExtensionId); var item = getItemData(kExtensionId);
assertTrue(!!item); assertTrue(!!item);
expectEquals(ExtensionState.ENABLED, item.state); expectEquals(ExtensionState.ENABLED, item.state);
...@@ -139,7 +141,8 @@ cr.define('extension_service_tests', function() { ...@@ -139,7 +141,8 @@ cr.define('extension_service_tests', function() {
chrome.test.runWithUserGesture(function() { chrome.test.runWithUserGesture(function() {
service.setItemAllowedIncognito(kExtensionId, true); service.setItemAllowedIncognito(kExtensionId, true);
}); });
incognitoListener.onUpdate.then(function() { incognitoListener.onUpdate
.then(function() {
var item = getItemData(kExtensionId); var item = getItemData(kExtensionId);
assertTrue(!!item); assertTrue(!!item);
expectTrue(item.incognitoAccess.isActive); expectTrue(item.incognitoAccess.isActive);
...@@ -150,7 +153,8 @@ cr.define('extension_service_tests', function() { ...@@ -150,7 +153,8 @@ cr.define('extension_service_tests', function() {
service.setItemAllowedIncognito(kExtensionId, false); service.setItemAllowedIncognito(kExtensionId, false);
}); });
return disabledIncognitoListener.onUpdate; return disabledIncognitoListener.onUpdate;
}).then(function() { })
.then(function() {
var item = getItemData(kExtensionId); var item = getItemData(kExtensionId);
assertTrue(!!item); assertTrue(!!item);
expectFalse(item.incognitoAccess.isActive); expectFalse(item.incognitoAccess.isActive);
...@@ -178,23 +182,23 @@ cr.define('extension_service_tests', function() { ...@@ -178,23 +182,23 @@ cr.define('extension_service_tests', function() {
var profileListener = new ProfileChangedListener(); var profileListener = new ProfileChangedListener();
service.setProfileInDevMode(true); service.setProfileInDevMode(true);
profileListener.onUpdate.then(function() { profileListener.onUpdate
.then(function() {
expectTrue(manager.inDevMode); expectTrue(manager.inDevMode);
var noDevModeProfileListener = new ProfileChangedListener(); var noDevModeProfileListener = new ProfileChangedListener();
service.setProfileInDevMode(false); service.setProfileInDevMode(false);
return noDevModeProfileListener.onUpdate; return noDevModeProfileListener.onUpdate;
}).then(function() { })
.then(function() {
expectFalse(manager.inDevMode); expectFalse(manager.inDevMode);
done(); done();
}); });
}); });
}); });
}
return { return {
ChangeListener: ChangeListener, ChangeListener: ChangeListener,
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -9,7 +9,6 @@ cr.define('extension_shortcut_input_tests', function() { ...@@ -9,7 +9,6 @@ cr.define('extension_shortcut_input_tests', function() {
Basic: 'basic', Basic: 'basic',
}; };
function registerTests() {
suite('ExtensionShortcutInputTest', function() { suite('ExtensionShortcutInputTest', function() {
/** @type {extensions.ShortcutInput} */ /** @type {extensions.ShortcutInput} */
var input; var input;
...@@ -24,10 +23,12 @@ cr.define('extension_shortcut_input_tests', function() { ...@@ -24,10 +23,12 @@ cr.define('extension_shortcut_input_tests', function() {
test(assert(TestNames.Basic), function() { test(assert(TestNames.Basic), function() {
var field = input.$['input']; var field = input.$['input'];
var fieldText = function() { return field.value; }; var fieldText = function() {
return field.value;
};
expectEquals('', fieldText()); expectEquals('', fieldText());
var isClearVisible = extension_test_util.isVisible.bind( var isClearVisible =
null, input, '#clear', false); extension_test_util.isVisible.bind(null, input, '#clear', false);
expectFalse(isClearVisible()); expectFalse(isClearVisible());
// Click the input. Capture should start. // Click the input. Capture should start.
...@@ -64,10 +65,9 @@ cr.define('extension_shortcut_input_tests', function() { ...@@ -64,10 +65,9 @@ cr.define('extension_shortcut_input_tests', function() {
// Add 'A'. Once a valid shortcut is typed (like Ctrl+A), it is // Add 'A'. Once a valid shortcut is typed (like Ctrl+A), it is
// committed. // committed.
let updatedListener = new extension_test_util.ListenerMock(); let updatedListener = new extension_test_util.ListenerMock();
updatedListener.addListener(input, 'shortcut-updated', updatedListener.addListener(
{keybinding: 'Ctrl+A', input, 'shortcut-updated',
item: 'itemid', {keybinding: 'Ctrl+A', item: 'itemid', commandName: 'Command'});
commandName: 'Command'});
updatedListener.addListener(input, 'shortcut-capture-ended'); updatedListener.addListener(input, 'shortcut-capture-ended');
MockInteractions.keyDownOn(field, 65, ['ctrl']); MockInteractions.keyDownOn(field, 65, ['ctrl']);
updatedListener.verify(); updatedListener.verify();
...@@ -80,10 +80,9 @@ cr.define('extension_shortcut_input_tests', function() { ...@@ -80,10 +80,9 @@ cr.define('extension_shortcut_input_tests', function() {
{ {
// Test clearing the shortcut. // Test clearing the shortcut.
let updatedListener = new extension_test_util.ListenerMock(); let updatedListener = new extension_test_util.ListenerMock();
updatedListener.addListener(input, 'shortcut-updated', updatedListener.addListener(
{keybinding: '', input, 'shortcut-updated',
item: 'itemid', {keybinding: '', item: 'itemid', commandName: 'Command'});
commandName: 'Command'});
MockInteractions.tap(input.$['clear']); MockInteractions.tap(input.$['clear']);
updatedListener.verify(); updatedListener.verify();
} }
...@@ -102,10 +101,8 @@ cr.define('extension_shortcut_input_tests', function() { ...@@ -102,10 +101,8 @@ cr.define('extension_shortcut_input_tests', function() {
} }
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -27,7 +27,6 @@ cr.define('extension_sidebar_tests', function() { ...@@ -27,7 +27,6 @@ cr.define('extension_sidebar_tests', function() {
LayoutAndClickHandlers: 'layout and click handlers', LayoutAndClickHandlers: 'layout and click handlers',
}; };
function registerTests() {
suite('ExtensionSidebarTest', function() { suite('ExtensionSidebarTest', function() {
/** @type {MockDelegate} */ /** @type {MockDelegate} */
var mockDelegate; var mockDelegate;
...@@ -67,10 +66,8 @@ cr.define('extension_sidebar_tests', function() { ...@@ -67,10 +66,8 @@ cr.define('extension_sidebar_tests', function() {
sidebar.$$('#sections-shortcuts'), 'showKeyboardShortcuts', []); sidebar.$$('#sections-shortcuts'), 'showKeyboardShortcuts', []);
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
...@@ -31,7 +31,6 @@ cr.define('extension_toolbar_tests', function() { ...@@ -31,7 +31,6 @@ cr.define('extension_toolbar_tests', function() {
ClickHandlers: 'click handlers', ClickHandlers: 'click handlers',
}; };
function registerTests() {
suite('ExtensionToolbarTest', function() { suite('ExtensionToolbarTest', function() {
/** @type {MockDelegate} */ /** @type {MockDelegate} */
var mockDelegate; var mockDelegate;
...@@ -68,11 +67,9 @@ cr.define('extension_toolbar_tests', function() { ...@@ -68,11 +67,9 @@ cr.define('extension_toolbar_tests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
toolbar.$['dev-mode'], 'setProfileInDevMode', toolbar.$['dev-mode'], 'setProfileInDevMode', [false]);
[false]);
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
toolbar.$['dev-mode'], 'setProfileInDevMode', toolbar.$['dev-mode'], 'setProfileInDevMode', [true]);
[true]);
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
toolbar.$$('#load-unpacked'), 'loadUnpacked', []); toolbar.$$('#load-unpacked'), 'loadUnpacked', []);
mockDelegate.testClickingCalls( mockDelegate.testClickingCalls(
...@@ -84,10 +81,8 @@ cr.define('extension_toolbar_tests', function() { ...@@ -84,10 +81,8 @@ cr.define('extension_toolbar_tests', function() {
listener.verify(); listener.verify();
}); });
}); });
}
return { return {
registerTests: registerTests,
TestNames: TestNames, TestNames: TestNames,
}; };
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment