blob: 1bf3cc36a7c86dc9ce3c7911d6d8084ceec13dfc [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. */
/** @const {string} Path to source root. */
const ROOT_PATH = '../../../../../';
// Polymer BrowserTest fixture.
GEN_INCLUDE(
[ROOT_PATH + '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 PolymerTest.getLibraries(ROOT_PATH).concat([
ROOT_PATH + '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',
'../settings/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;
}
/** @param {string} testName The name of the test to run. */
runMochaTest(testName) {
runMochaTest(this.suiteName, testName);
}
};
/**
* Test fixture with one installed extension.
*/
CrExtensionsBrowserTestWithInstalledExtension =
class extends CrExtensionsBrowserTest {
/** @override */
testGenPreamble() {
GEN(' InstallGoodExtension();');
GEN(' SetAutoConfirmUninstall();');
}
};
////////////////////////////////////////////////////////////////////////////////
// Extension Sidebar Tests
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;
}
};
// Flaky, see https://crbug.com/871692 .
TEST_F(
'CrExtensionsSidebarTest', 'DISABLED_LayoutAndClickHandlers', function() {
this.runMochaTest(
extension_sidebar_tests.TestNames.LayoutAndClickHandlers);
});
// Flaky, see https://crbug.com/871692 .
TEST_F('CrExtensionsSidebarTest', 'DISABLED_SetSelected', function() {
this.runMochaTest(extension_sidebar_tests.TestNames.SetSelected);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Toolbar Tests
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);
});
TEST_F('CrExtensionsToolbarTest', '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
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 Detail View Tests
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
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;
}
};
// This test is flaky on Mac10.9 Tests (dbg). See https://crbug.com/771099.
GEN('#if defined(OS_MACOSX)');
GEN('#define MAYBE_Filtering DISABLED_Filtering');
GEN('#else');
GEN('#define MAYBE_Filtering Filtering');
GEN('#endif');
TEST_F('CrExtensionsItemListTest', 'MAYBE_Filtering', function() {
this.runMochaTest(extension_item_list_tests.TestNames.Filtering);
});
// This test is flaky on Mac10.9 Tests (dbg). See https://crbug.com/771099.
GEN('#if defined(OS_MACOSX)');
GEN('#define MAYBE_NoItems DISABLED_NoItems');
GEN('#else');
GEN('#define MAYBE_NoItems NoItems');
GEN('#endif');
TEST_F('CrExtensionsItemListTest', 'MAYBE_NoItems', function() {
this.runMochaTest(extension_item_list_tests.TestNames.NoItemsMsg);
});
TEST_F('CrExtensionsItemListTest', 'NoSearchResults', function() {
this.runMochaTest(extension_item_list_tests.TestNames.NoSearchResultsMsg);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Load Error Tests
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
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', '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, see https://crbug.com/871692 .
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');
CrExtensionsManagerTestWithMultipleExtensionTypesInstalled =
class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'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);
});
// Flaky, see https://crbug.com/871692 .
TEST_F(
'CrExtensionsManagerTestWithMultipleExtensionTypesInstalled',
'DISABLED_ChangePages', function() {
this.runMochaTest(extension_manager_tests.TestNames.ChangePages);
});
CrExtensionsManagerTestWithIdQueryParam =
class extends CrExtensionsBrowserTestWithInstalledExtension {
/** @override */
get browsePreload() {
return 'chrome://extensions/?id=ldnnhddmnhbkjipkidpdiheffobcpfmf';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'manager_test.js',
]);
}
/** @override */
get suiteName() {
return extension_manager_tests.suiteName;
}
};
TEST_F(
'CrExtensionsManagerTestWithIdQueryParam', 'NavigationToDetails',
function() {
this.runMochaTest(
extension_manager_tests.TestNames.UrlNavigationToDetails);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Keyboard Shortcuts Tests
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);
});
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
CrExtensionsPackDialogTest = class extends CrExtensionsBrowserTest {
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'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);
});
TEST_F('CrExtensionsPackDialogTest', 'PackWarning', function() {
this.runMochaTest(extension_pack_dialog_tests.TestNames.PackWarning);
});
////////////////////////////////////////////////////////////////////////////////
// Extension Options Dialog Tests
CrExtensionsOptionsDialogTest = class extends CrExtensionsBrowserTest {
/** @override */
testGenPreamble() {
GEN(' InstallExtensionWithInPageOptions();');
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'../settings/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
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
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
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;
}
};
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);
});
// Flaky, see https://crbug.com/871692 .
TEST_F(
'CrExtensionsNavigationHelperTest', 'DISABLED_PushAndReplaceState',
function() {
this.runMochaTest(
extension_navigation_helper_tests.TestNames.PushAndReplaceState);
});
TEST_F('CrExtensionsNavigationHelperTest', 'SupportedRoutes', function() {
this.runMochaTest(
extension_navigation_helper_tests.TestNames.SupportedRoutes);
});
////////////////////////////////////////////////////////////////////////////////
// Extension View Manager Tests
CrExtensionsViewManagerTest = class extends CrExtensionsBrowserTest {
/** @override */
get browsePreload() {
return 'chrome://extensions/view_manager.html';
}
/** @override */
get extraLibraries() {
return super.extraLibraries.concat([
'view_manager_test.js',
]);
}
/** @override */
get suiteName() {
return extension_view_manager_tests.suiteName;
}
};
TEST_F('CrExtensionsViewManagerTest', 'VisibilityTest', function() {
this.runMochaTest(extension_view_manager_tests.TestNames.Visibility);
});
TEST_F('CrExtensionsViewManagerTest', 'EventFiringTest', function() {
this.runMochaTest(extension_view_manager_tests.TestNames.EventFiring);
});
////////////////////////////////////////////////////////////////////////////////
// Error Console tests
CrExtensionsErrorConsoleTest = class extends CrExtensionsBrowserTest {
/** @override */
get suiteName() {
return 'ErrorConsoleTests';
}
/** @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', function() {
const STACK_ERRORS = 'li';
const ACTIVE_ERROR_IN_STACK = 'li[tabindex="0"]';
let initialFocus =
extension_test_util.findMatches(document, ACTIVE_ERROR_IN_STACK)[0];
assertTrue(!!initialFocus);
assertEquals(
1,
extension_test_util.findMatches(document, ACTIVE_ERROR_IN_STACK).length);
assertEquals(
4, extension_test_util.findMatches(document, STACK_ERRORS).length);
// Pressing up when the first item is focused should NOT change focus.
MockInteractions.keyDownOn(initialFocus, 38, '', 'ArrowUp');
assertEquals(
initialFocus,
extension_test_util.findMatches(document, ACTIVE_ERROR_IN_STACK)[0]);
// Pressing down when the first item is focused should change focus.
MockInteractions.keyDownOn(initialFocus, 40, '', 'ArrowDown');
assertNotEquals(
initialFocus,
extension_test_util.findMatches(document, ACTIVE_ERROR_IN_STACK)[0]);
// Pressing up when the second item is focused should focus the first again.
MockInteractions.keyDownOn(initialFocus, 38, '', 'ArrowUp');
assertEquals(
initialFocus,
extension_test_util.findMatches(document, ACTIVE_ERROR_IN_STACK)[0]);
testDone();
});
////////////////////////////////////////////////////////////////////////////////
// extensions-toggle-row tests.
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)');
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
CrExtensionsRuntimeHostsDialogTest = class extends CrExtensionsBrowserTest {
/** @override */
get browserPreload() {
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
CrExtensionsRuntimeHostPermissionsTest = class extends CrExtensionsBrowserTest {
/** @override */
get browserPreload() {
return 'chrome://extensions/runtime_host_permissions.html';
}
get extraLibraries() {
return super.extraLibraries.concat([
'runtime_host_permissions_test.js',
]);
}
};
TEST_F('CrExtensionsRuntimeHostPermissionsTest', 'All', () => {
mocha.run();
});