blob: 8acaa03b8a08003607be3363b67b8ff4eaa22133 [file] [log] [blame]
// Copyright 2015 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.
/** @fileoverview Runs the Polymer Settings tests. */
// Polymer BrowserTest fixture.
GEN_INCLUDE(['//chrome/test/data/webui/polymer_browser_test_base.js']);
GEN('#include "chrome/browser/ui/webui/extensions/' +
'extension_settings_browsertest.h"');
/**
* Basic test fixture for the MD chrome://extensions page. Installs no
* extensions.
*/
const CrExtensionsBrowserTest = class extends PolymerTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/';
}
/** @override */
get extraLibraries() {
return [
...super.extraLibraries,
'//ui/webui/resources/js/assert.js',
'test_util.js',
'../mock_controller.js',
'../../../../../ui/webui/resources/js/promise_resolver.js',
'../../../../../ui/webui/resources/js/webui_resource_test.js',
'../fake_chrome_event.js',
'../test_util.js',
'../test_browser_proxy.js',
'test_service.js',
];
}
/** @override */
get typedefCppFixture() {
return 'ExtensionSettingsUIBrowserTest';
}
// The name of the mocha suite. Should be overriden by subclasses.
get suiteName() {
return null;
}
/** @override */
get loaderFile() {
return 'subpage_loader.html';
}
// The name of the custom element under test. Should be overridden by
// subclasses that are loading the URL of a non-element.
get customElementName() {
const r = /chrome\:\/\/extensions\/(([a-zA-Z-_]+)\/)?([a-zA-Z-_]+)\.html/;
const result = r.exec(this.browsePreload);
if (result && result.length > 3) {
const element = result[3].replace(/_/gi, '-');
return result[2] === undefined ? 'extensions-' + element : element;
}
// Loading the main page, return extensions manager.
return 'extensions-manager';
}
/** @param {string} testName The name of the test to run. */
runMochaTest(testName) {
runMochaTest(this.suiteName, testName);
}
};
/**
* Test fixture with one installed extension.
*/
const CrExtensionsBrowserTestWithInstalledExtension =
class extends CrExtensionsBrowserTest {
/** @override */
testGenPreamble() {
GEN(' InstallGoodExtension();');
GEN(' SetAutoConfirmUninstall();');
}
};
////////////////////////////////////////////////////////////////////////////////
// Extension Sidebar Tests
// eslint-disable-next-line no-var
var CrExtensionsSidebarTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/sidebar.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'sidebar_test.js',
]);
}
/** @override */
get suiteName() {
return extension_sidebar_tests.suiteName;
}
};
TEST_F('CrExtensionsSidebarTest', 'LayoutAndClickHandlers', function() {
this.runMochaTest(extension_sidebar_tests.TestNames.LayoutAndClickHandlers);
});
TEST_F('CrExtensionsSidebarTest', 'SetSelected', function() {
this.runMochaTest(extension_sidebar_tests.TestNames.SetSelected);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Toolbar Tests
// eslint-disable-next-line no-var
var CrExtensionsToolbarTest = class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'toolbar_test.js',
]);
}
/** @override */
get suiteName() {
return extension_toolbar_tests.suiteName;
}
};
TEST_F('CrExtensionsToolbarTest', 'Layout', function() {
this.runMochaTest(extension_toolbar_tests.TestNames.Layout);
});
TEST_F('CrExtensionsToolbarTest', 'DevModeToggle', function() {
this.runMochaTest(extension_toolbar_tests.TestNames.DevModeToggle);
});
// TODO(crbug.com/882342) Disabled on other platforms but MacOS due to timeouts.
GEN('#if !defined(OS_MACOSX)');
GEN('#define MAYBE_ClickHandlers DISABLED_ClickHandlers');
GEN('#else');
GEN('#define MAYBE_ClickHandlers ClickHandlers');
GEN('#endif');
TEST_F('CrExtensionsToolbarTest', 'MAYBE_ClickHandlers', function() {
this.runMochaTest(extension_toolbar_tests.TestNames.ClickHandlers);
});
GEN('#if defined(OS_CHROMEOS)');
TEST_F('CrExtensionsToolbarTest', 'KioskMode', function() {
this.runMochaTest(extension_toolbar_tests.TestNames.KioskMode);
});
GEN('#endif');
////////////////////////////////////////////////////////////////////////////////
// Extension Item Tests
// eslint-disable-next-line no-var
var CrExtensionsItemsTest = class extends CrExtensionsBrowserTest {
get browsePreload() {
return 'chrome://extensions/item.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'item_test.js',
]);
}
/** @override */
get suiteName() {
return extension_item_tests.suiteName;
}
};
TEST_F('CrExtensionsItemsTest', 'NormalState', function() {
this.runMochaTest(
extension_item_tests.TestNames.ElementVisibilityNormalState);
});
TEST_F('CrExtensionsItemsTest', 'DeveloperState', function() {
this.runMochaTest(
extension_item_tests.TestNames.ElementVisibilityDeveloperState);
});
TEST_F('CrExtensionsItemsTest', 'ClickableItems', function() {
this.runMochaTest(extension_item_tests.TestNames.ClickableItems);
});
TEST_F('CrExtensionsItemsTest', 'FailedReloadFiresLoadError', function() {
this.runMochaTest(extension_item_tests.TestNames.FailedReloadFiresLoadError);
});
TEST_F('CrExtensionsItemsTest', 'Warnings', function() {
this.runMochaTest(extension_item_tests.TestNames.Warnings);
});
TEST_F('CrExtensionsItemsTest', 'SourceIndicator', function() {
this.runMochaTest(extension_item_tests.TestNames.SourceIndicator);
});
TEST_F('CrExtensionsItemsTest', 'EnableToggle', function() {
this.runMochaTest(extension_item_tests.TestNames.EnableToggle);
});
TEST_F('CrExtensionsItemsTest', 'RemoveButton', function() {
this.runMochaTest(extension_item_tests.TestNames.RemoveButton);
});
TEST_F('CrExtensionsItemsTest', 'HtmlInName', function() {
this.runMochaTest(extension_item_tests.TestNames.HtmlInName);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Activity Log Tests
// eslint-disable-next-line no-var
var CrExtensionsActivityLogTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/activity_log/activity_log.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'activity_log_test.js',
]);
}
/** @override */
get customElementName() {
// This element's naming scheme is unusual.
return 'extensions-activity-log';
}
};
TEST_F('CrExtensionsActivityLogTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// Extension Activity Log History Tests
// eslint-disable-next-line no-var
var CrExtensionsActivityLogHistoryTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/activity_log/activity_log_history.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'activity_log_history_test.js',
]);
}
};
TEST_F('CrExtensionsActivityLogHistoryTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// Extension Activity Log Item Tests
// eslint-disable-next-line no-var
var CrExtensionsActivityLogHistoryItemTest =
class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/activity_log/activity_log_history_item.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'activity_log_history_item_test.js',
]);
}
};
TEST_F('CrExtensionsActivityLogHistoryItemTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// Extension Activity Log Stream Tests
// eslint-disable-next-line no-var
var CrExtensionsActivityLogStreamTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/activity_log/activity_log_stream.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'activity_log_stream_test.js',
]);
}
};
TEST_F('CrExtensionsActivityLogStreamTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// Extension Activity Log Stream Item Tests
// eslint-disable-next-line no-var
var CrExtensionsActivityLogStreamItemTest =
class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/activity_log/activity_log_stream_item.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'activity_log_stream_item_test.js',
]);
}
};
TEST_F('CrExtensionsActivityLogStreamItemTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// Extension Detail View Tests
// eslint-disable-next-line no-var
var CrExtensionsDetailViewTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/detail_view.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'detail_view_test.js',
]);
}
/** @override */
get suiteName() {
return extension_detail_view_tests.suiteName;
}
};
TEST_F('CrExtensionsDetailViewTest', 'Layout', function() {
this.runMochaTest(extension_detail_view_tests.TestNames.Layout);
});
TEST_F('CrExtensionsDetailViewTest', 'LayoutSource', function() {
this.runMochaTest(extension_detail_view_tests.TestNames.LayoutSource);
});
TEST_F('CrExtensionsDetailViewTest', 'ClickableElements', function() {
this.runMochaTest(extension_detail_view_tests.TestNames.ClickableElements);
});
TEST_F('CrExtensionsDetailViewTest', 'IndicatorTest', function() {
this.runMochaTest(extension_detail_view_tests.TestNames.Indicator);
});
TEST_F('CrExtensionsDetailViewTest', 'Warnings', function() {
this.runMochaTest(extension_detail_view_tests.TestNames.Warnings);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Item List Tests
// eslint-disable-next-line no-var
var CrExtensionsItemListTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/item_list.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'item_list_test.js',
]);
}
/** @override */
get suiteName() {
return extension_item_list_tests.suiteName;
}
};
TEST_F('CrExtensionsItemListTest', 'Filtering', function() {
this.runMochaTest(extension_item_list_tests.TestNames.Filtering);
});
TEST_F('CrExtensionsItemListTest', 'NoItems', function() {
this.runMochaTest(extension_item_list_tests.TestNames.NoItemsMsg);
});
TEST_F('CrExtensionsItemListTest', 'NoSearchResults', function() {
this.runMochaTest(extension_item_list_tests.TestNames.NoSearchResultsMsg);
});
TEST_F('CrExtensionsItemListTest', 'LoadTimeData', function() {
this.runMochaTest(extension_item_list_tests.TestNames.LoadTimeData);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Load Error Tests
// eslint-disable-next-line no-var
var CrExtensionsLoadErrorTest = class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'load_error_test.js',
]);
}
/** @override */
get suiteName() {
return extension_load_error_tests.suiteName;
}
};
TEST_F('CrExtensionsLoadErrorTest', 'RetryError', function() {
this.runMochaTest(extension_load_error_tests.TestNames.RetryError);
});
TEST_F('CrExtensionsLoadErrorTest', 'RetrySuccess', function() {
this.runMochaTest(extension_load_error_tests.TestNames.RetrySuccess);
});
TEST_F('CrExtensionsLoadErrorTest', 'CodeSection', function() {
this.runMochaTest(extension_load_error_tests.TestNames.CodeSection);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Manager Tests
// eslint-disable-next-line no-var
var CrExtensionsManagerUnitTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/manager.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'test_kiosk_browser_proxy.js',
'manager_unit_test.js',
]);
}
/** @override */
get suiteName() {
return extension_manager_tests.suiteName;
}
};
TEST_F('CrExtensionsManagerUnitTest', 'ItemOrder', function() {
this.runMochaTest(extension_manager_tests.TestNames.ItemOrder);
});
TEST_F('CrExtensionsManagerUnitTest', 'SetItemData', function() {
this.runMochaTest(extension_manager_tests.TestNames.SetItemData);
});
TEST_F('CrExtensionsManagerUnitTest', 'UpdateItemData', function() {
this.runMochaTest(extension_manager_tests.TestNames.UpdateItemData);
});
TEST_F('CrExtensionsManagerUnitTest', 'ProfileSettings', function() {
this.runMochaTest(extension_manager_tests.TestNames.ProfileSettings);
});
TEST_F('CrExtensionsManagerUnitTest', 'Uninstall', function() {
this.runMochaTest(extension_manager_tests.TestNames.Uninstall);
});
// Flaky since r621915: https://crbug.com/922490
TEST_F(
'CrExtensionsManagerUnitTest', 'DISABLED_UninstallFromDetails', function() {
this.runMochaTest(extension_manager_tests.TestNames.UninstallFromDetails);
});
TEST_F('CrExtensionsManagerUnitTest', 'ToggleIncognito', function() {
this.runMochaTest(extension_manager_tests.TestNames.ToggleIncognitoMode);
});
TEST_F('CrExtensionsManagerUnitTest', 'EnableAndDisable', function() {
this.runMochaTest(extension_manager_tests.TestNames.EnableAndDisable);
});
GEN('#if defined(OS_CHROMEOS)');
TEST_F('CrExtensionsManagerUnitTest', 'KioskMode', function() {
this.runMochaTest(extension_manager_tests.TestNames.KioskMode);
});
GEN('#endif');
// eslint-disable-next-line no-var
var CrExtensionsManagerUnitTestWithActivityLogFlag =
class extends CrExtensionsManagerUnitTest {
/** @override */
get commandLineSwitches() {
return [{
switchName: 'enable-extension-activity-logging',
}];
}
};
TEST_F(
'CrExtensionsManagerUnitTestWithActivityLogFlag', 'UpdateFromActivityLog',
function() {
this.runMochaTest(
extension_manager_tests.TestNames.UpdateFromActivityLog);
});
// eslint-disable-next-line no-var
var CrExtensionsManagerTestWithMultipleExtensionTypesInstalled =
class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'../test_util.js',
'manager_test.js',
]);
}
/** @override */
testGenPreamble() {
GEN(' InstallGoodExtension();');
GEN(' InstallPackagedApp();');
GEN(' InstallHostedApp();');
GEN(' InstallPlatformApp();');
}
/** @override */
get suiteName() {
return extension_manager_tests.suiteName;
}
};
TEST_F(
'CrExtensionsManagerTestWithMultipleExtensionTypesInstalled',
'ItemListVisibility', function() {
this.runMochaTest(extension_manager_tests.TestNames.ItemListVisibility);
});
TEST_F(
'CrExtensionsManagerTestWithMultipleExtensionTypesInstalled', 'SplitItems',
function() {
this.runMochaTest(extension_manager_tests.TestNames.SplitItems);
});
TEST_F(
'CrExtensionsManagerTestWithMultipleExtensionTypesInstalled', 'ChangePages',
function() {
this.runMochaTest(extension_manager_tests.TestNames.ChangePages);
});
TEST_F(
'CrExtensionsManagerTestWithMultipleExtensionTypesInstalled',
'PageTitleUpdate', function() {
this.runMochaTest(extension_manager_tests.TestNames.PageTitleUpdate);
});
// eslint-disable-next-line no-var
var CrExtensionsManagerTestWithIdQueryParam =
class extends CrExtensionsBrowserTestWithInstalledExtension {
/** @override */
get browsePreload() {
return 'chrome://extensions/?id=ldnnhddmnhbkjipkidpdiheffobcpfmf';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'../test_util.js',
'manager_test.js',
]);
}
/** @override */
get suiteName() {
return extension_manager_tests.suiteName;
}
};
TEST_F(
'CrExtensionsManagerTestWithIdQueryParam', 'NavigationToDetails',
function() {
this.runMochaTest(
extension_manager_tests.TestNames.UrlNavigationToDetails);
});
TEST_F(
'CrExtensionsManagerTestWithIdQueryParam', 'UrlNavigationToActivityLogFail',
function() {
this.runMochaTest(
extension_manager_tests.TestNames.UrlNavigationToActivityLogFail);
});
CrExtensionsManagerTestWithActivityLogFlag =
class extends CrExtensionsManagerTestWithIdQueryParam {
/** @override */
get commandLineSwitches() {
return [{
switchName: 'enable-extension-activity-logging',
}];
}
};
TEST_F(
'CrExtensionsManagerTestWithActivityLogFlag',
'UrlNavigationToActivityLogSuccess', function() {
this.runMochaTest(
extension_manager_tests.TestNames.UrlNavigationToActivityLogSuccess);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Keyboard Shortcuts Tests
// eslint-disable-next-line no-var
var CrExtensionsShortcutTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/keyboard_shortcuts.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'keyboard_shortcuts_test.js',
]);
}
/** @override */
get suiteName() {
return extension_shortcut_tests.suiteName;
}
};
TEST_F('CrExtensionsShortcutTest', 'Layout', function() {
this.runMochaTest(extension_shortcut_tests.TestNames.Layout);
});
TEST_F('CrExtensionsShortcutTest', 'IsValidKeyCode', function() {
this.runMochaTest(extension_shortcut_tests.TestNames.IsValidKeyCode);
});
TEST_F('CrExtensionsShortcutTest', 'KeyStrokeToString', function() {
this.runMochaTest(extension_shortcut_tests.TestNames.IsValidKeyCode);
});
TEST_F('CrExtensionsShortcutTest', 'ScopeChange', function() {
this.runMochaTest(extension_shortcut_tests.TestNames.ScopeChange);
});
// eslint-disable-next-line no-var
var CrExtensionsShortcutInputTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/keyboard_shortcuts.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'shortcut_input_test.js',
]);
}
/** @override */
get suiteName() {
return extension_shortcut_input_tests.suiteName;
}
};
TEST_F('CrExtensionsShortcutInputTest', 'Basic', function() {
this.runMochaTest(extension_shortcut_input_tests.TestNames.Basic);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Pack Dialog Tests
// eslint-disable-next-line no-var
var CrExtensionsPackDialogTest = class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'../test_util.js',
'pack_dialog_test.js',
]);
}
/** @override */
get suiteName() {
return extension_pack_dialog_tests.suiteName;
}
};
TEST_F('CrExtensionsPackDialogTest', 'Interaction', function() {
this.runMochaTest(extension_pack_dialog_tests.TestNames.Interaction);
});
// Disabling on Windows due to flaky timeout on some build bots.
// http://crbug.com/832885
GEN('#if defined(OS_WIN)');
GEN('#define MAYBE_PackSuccess DISABLED_PackSuccess');
GEN('#else');
GEN('#define MAYBE_PackSuccess PackSuccess');
GEN('#endif');
TEST_F('CrExtensionsPackDialogTest', 'MAYBE_PackSuccess', function() {
this.runMochaTest(extension_pack_dialog_tests.TestNames.PackSuccess);
});
TEST_F('CrExtensionsPackDialogTest', 'PackError', function() {
this.runMochaTest(extension_pack_dialog_tests.TestNames.PackError);
});
// Temporarily disabling on Mac due to flakiness.
// http://crbug.com/877109
GEN('#if defined(OS_MACOSX)');
GEN('#define MAYBE_PackWarning DISABLED_PackWarning');
GEN('#else');
GEN('#define MAYBE_PackWarning PackWarning');
GEN('#endif');
TEST_F('CrExtensionsPackDialogTest', 'MAYBE_PackWarning', function() {
this.runMochaTest(extension_pack_dialog_tests.TestNames.PackWarning);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Options Dialog Tests
// eslint-disable-next-line no-var
var CrExtensionsOptionsDialogTest = class extends CrExtensionsBrowserTest {
/** @override */
testGenPreamble() {
GEN(' InstallExtensionWithInPageOptions();');
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'../test_util.js',
'options_dialog_test.js',
]);
}
/** @override */
get suiteName() {
return extension_options_dialog_tests.suiteName;
}
};
TEST_F('CrExtensionsOptionsDialogTest', 'Layout', function() {
this.runMochaTest(extension_options_dialog_tests.TestNames.Layout);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Error Page Tests
// eslint-disable-next-line no-var
var CrExtensionsErrorPageTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/error_page.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'error_page_test.js',
]);
}
/** @override */
get suiteName() {
return extension_error_page_tests.suiteName;
}
};
TEST_F('CrExtensionsErrorPageTest', 'Layout', function() {
this.runMochaTest(extension_error_page_tests.TestNames.Layout);
});
TEST_F('CrExtensionsErrorPageTest', 'CodeSection', function() {
this.runMochaTest(extension_error_page_tests.TestNames.CodeSection);
});
TEST_F('CrExtensionsErrorPageTest', 'ErrorSelection', function() {
this.runMochaTest(extension_error_page_tests.TestNames.ErrorSelection);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Code Section Tests
// eslint-disable-next-line no-var
var CrExtensionsCodeSectionTest = class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'code_section_test.js',
]);
}
/** @override */
get suiteName() {
return extension_code_section_tests.suiteName;
}
};
TEST_F('CrExtensionsCodeSectionTest', 'Layout', function() {
this.runMochaTest(extension_code_section_tests.TestNames.Layout);
});
TEST_F('CrExtensionsCodeSectionTest', 'LongSource', function() {
this.runMochaTest(extension_code_section_tests.TestNames.LongSource);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Navigation Helper Tests
// eslint-disable-next-line no-var
var CrExtensionsNavigationHelperTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/navigation_helper.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'navigation_helper_test.js',
]);
}
/** @override */
get suiteName() {
return extension_navigation_helper_tests.suiteName;
}
/** @override */
get customElementName() {
// This test is verifying a class, not a custom element.
return null;
}
};
TEST_F('CrExtensionsNavigationHelperTest', 'Basic', function() {
this.runMochaTest(extension_navigation_helper_tests.TestNames.Basic);
});
TEST_F('CrExtensionsNavigationHelperTest', 'Conversion', function() {
this.runMochaTest(extension_navigation_helper_tests.TestNames.Conversions);
});
TEST_F('CrExtensionsNavigationHelperTest', 'PushAndReplaceState', function() {
this.runMochaTest(
extension_navigation_helper_tests.TestNames.PushAndReplaceState);
});
TEST_F('CrExtensionsNavigationHelperTest', 'SupportedRoutes', function() {
this.runMochaTest(
extension_navigation_helper_tests.TestNames.SupportedRoutes);
});
////////////////////////////////////////////////////////////////////////////////
// Error Console tests
// eslint-disable-next-line no-var
var CrExtensionsErrorConsoleTest = class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'../test_util.js',
'error_console_test.js',
]);
}
/** @override */
get browsePreload() {
return 'chrome://extensions/?errors=oehidglfoeondlkoeloailjdmmghacge';
}
/** @override */
testGenPreamble() {
GEN(' SetDevModeEnabled(true);');
GEN(' EnableErrorConsole();');
GEN(' InstallErrorsExtension();');
}
/** @override */
testGenPostamble() {
GEN(' SetDevModeEnabled(false);'); // Return this to default.
}
};
TEST_F('CrExtensionsErrorConsoleTest', 'TestUpDownErrors', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// extensions-toggle-row tests.
// eslint-disable-next-line no-var
var CrExtensionsToggleRowTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/toggle_row.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'toggle_row_test.js',
]);
}
};
TEST_F('CrExtensionsToggleRowTest', 'ToggleRowTest', function() {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// kiosk mode tests.
GEN('#if defined(OS_CHROMEOS)');
// eslint-disable-next-line no-var
var CrExtensionsKioskModeTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/kiosk_dialog.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'test_kiosk_browser_proxy.js',
'kiosk_mode_test.js',
]);
}
/** @override */
get suiteName() {
return extension_kiosk_mode_tests.suiteName;
}
};
TEST_F('CrExtensionsKioskModeTest', 'AddButton', function() {
this.runMochaTest(extension_kiosk_mode_tests.TestNames.AddButton);
});
TEST_F('CrExtensionsKioskModeTest', 'Layout', function() {
this.runMochaTest(extension_kiosk_mode_tests.TestNames.Layout);
});
TEST_F('CrExtensionsKioskModeTest', 'AutoLaunch', function() {
this.runMochaTest(extension_kiosk_mode_tests.TestNames.AutoLaunch);
});
TEST_F('CrExtensionsKioskModeTest', 'Bailout', function() {
this.runMochaTest(extension_kiosk_mode_tests.TestNames.Bailout);
});
TEST_F('CrExtensionsKioskModeTest', 'Updated', function() {
this.runMochaTest(extension_kiosk_mode_tests.TestNames.Updated);
});
TEST_F('CrExtensionsKioskModeTest', 'AddError', function() {
this.runMochaTest(extension_kiosk_mode_tests.TestNames.AddError);
});
GEN('#endif');
////////////////////////////////////////////////////////////////////////////////
// RuntimeHostsDialog tests
// eslint-disable-next-line no-var
var CrExtensionsRuntimeHostsDialogTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/runtime_hosts_dialog.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'runtime_hosts_dialog_test.js',
]);
}
};
TEST_F('CrExtensionsRuntimeHostsDialogTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// RuntimeHostPermissions tests
// eslint-disable-next-line no-var
var CrExtensionsRuntimeHostPermissionsTest =
class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/runtime_host_permissions.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'runtime_host_permissions_test.js',
]);
}
};
TEST_F('CrExtensionsRuntimeHostPermissionsTest', 'All', () => {
mocha.run();
});
////////////////////////////////////////////////////////////////////////////////
// HostPermissionsToggleList tests
// eslint-disable-next-line no-var
var CrExtensionsHostPermissionsToggleListTest =
class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/host_permissions_toggle_list.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'host_permissions_toggle_list_test.js',
]);
}
};
TEST_F('CrExtensionsHostPermissionsToggleListTest', 'All', () => {
mocha.run();
});