blob: b059f10699f67bd4c9de1a65027a8b3be7192ae6 [file] [log] [blame]
// Copyright 2020 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 Tests for shared Polymer 3 elements. */
// Polymer BrowserTest fixture.
GEN_INCLUDE(['//chrome/test/data/webui/polymer_browser_test_base.js']);
GEN('#include "services/network/public/cpp/features.h"');
GEN('#include "build/branding_buildflags.h"');
GEN('#include "components/autofill/core/common/autofill_features.h"');
GEN('#include "components/password_manager/core/common/password_manager_features.h"');
/** Test fixture for shared Polymer 3 elements. */
// eslint-disable-next-line no-var
var CrSettingsV3BrowserTest = class extends PolymerTest {
/** @override */
get browsePreload() {
return 'chrome://settings';
}
/** @override */
get extraLibraries() {
return [
'//third_party/mocha/mocha.js',
'//chrome/test/data/webui/mocha_adapter.js',
];
}
/** @override */
get featureList() {
return {enabled: ['network::features::kOutOfBlinkCors'], disabled: []};
}
};
// eslint-disable-next-line no-var
var CrSettingsAboutPageV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/about_page_tests.m.js';
}
};
TEST_F('CrSettingsAboutPageV3Test', 'AboutPage', function() {
mocha.grep('AboutPageTest_AllBuilds').run();
});
GEN('#if BUILDFLAG(GOOGLE_CHROME_BRANDING)');
TEST_F('CrSettingsAboutPageV3Test', 'AboutPage_OfficialBuild', function() {
mocha.grep('AboutPageTest_OfficialBuilds').run();
});
GEN('#endif');
// eslint-disable-next-line no-var
var CrSettingsLanguagesPageV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/languages_page_tests.m.js';
}
};
TEST_F('CrSettingsLanguagesPageV3Test', 'AddLanguagesDialog', function() {
mocha.grep(languages_page_tests.TestNames.AddLanguagesDialog).run();
});
TEST_F('CrSettingsLanguagesPageV3Test', 'LanguageMenu', function() {
mocha.grep(languages_page_tests.TestNames.LanguageMenu).run();
});
TEST_F('CrSettingsLanguagesPageV3Test', 'Spellcheck', function() {
mocha.grep(languages_page_tests.TestNames.Spellcheck).run();
});
GEN('#if BUILDFLAG(GOOGLE_CHROME_BRANDING)');
TEST_F('CrSettingsLanguagesPageV3Test', 'SpellcheckOfficialBuild', function() {
mocha.grep(languages_page_tests.TestNames.SpellcheckOfficialBuild).run();
});
GEN('#endif');
// eslint-disable-next-line no-var
var CrSettingsClearBrowsingDataV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/clear_browsing_data_test.m.js';
}
};
TEST_F(
'CrSettingsClearBrowsingDataV3Test', 'ClearBrowsingDataAllPlatforms',
function() {
runMochaSuite('ClearBrowsingDataAllPlatforms');
});
TEST_F('CrSettingsClearBrowsingDataV3Test', 'InstalledApps', () => {
runMochaSuite('InstalledApps');
});
GEN('#if !defined(OS_CHROMEOS)');
TEST_F(
'CrSettingsClearBrowsingDataV3Test', 'ClearBrowsingDataDesktop',
function() {
runMochaSuite('ClearBrowsingDataDesktop');
});
GEN('#endif');
// eslint-disable-next-line no-var
var CrSettingsMainPageV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/settings_main_test.m.js';
}
};
// Copied from Polymer 2 version of tests:
// Times out on Windows Tests (dbg). See https://crbug.com/651296.
// Times out / crashes on chromium.linux/Linux Tests (dbg) crbug.com/667882
GEN('#if !defined(NDEBUG)');
GEN('#define MAYBE_MainPageV3 DISABLED_MainPageV3');
GEN('#else');
GEN('#define MAYBE_MainPageV3 MainPageV3');
GEN('#endif');
TEST_F('CrSettingsMainPageV3Test', 'MAYBE_MainPageV3', function() {
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsAutofillSectionCompanyEnabledV3Test =
class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/autofill_section_test.m.js';
}
/** @override */
get featureList() {
const list = super.featureList;
list.enabled.push('autofill::features::kAutofillEnableCompanyName');
return list;
}
};
TEST_F('CrSettingsAutofillSectionCompanyEnabledV3Test', 'All', function() {
// Use 'EnableCompanyName' to inform tests that the feature is enabled.
const loadTimeDataOverride = {};
loadTimeDataOverride['EnableCompanyName'] = true;
loadTimeData.overrideValues(loadTimeDataOverride);
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsAutofillSectionCompanyDisabledV3Test =
class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/autofill_section_test.m.js';
}
/** @override */
get featureList() {
const list = super.featureList;
list.disabled.push('autofill::features::kAutofillEnableCompanyName');
return list;
}
};
TEST_F('CrSettingsAutofillSectionCompanyDisabledV3Test', 'All', function() {
// Use 'EnableCompanyName' to inform tests that the feature is enabled.
const loadTimeDataOverride = {};
loadTimeDataOverride['EnableCompanyName'] = false;
loadTimeData.overrideValues(loadTimeDataOverride);
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsPasswordsSectionV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/passwords_section_test.m.js';
}
/** @override */
get featureList() {
const list = super.featureList;
list.enabled.push('password_manager::features::kPasswordCheck');
return list;
}
};
TEST_F('CrSettingsPasswordsSectionV3Test', 'All', function() {
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsPasswordsCheckV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/password_check_test.m.js';
}
/** @override */
get featureList() {
const list = super.featureList;
list.enabled.push('password_manager::features::kPasswordCheck');
return list;
}
};
TEST_F('CrSettingsPasswordsCheckV3Test', 'All', function() {
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsSiteListV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/site_list_tests.m.js';
}
};
// Copied from Polymer 2 test:
// TODO(crbug.com/929455): flaky, fix.
TEST_F('CrSettingsSiteListV3Test', 'DISABLED_SiteList', function() {
runMochaSuite('SiteList');
});
TEST_F('CrSettingsSiteListV3Test', 'EditExceptionDialog', function() {
runMochaSuite('EditExceptionDialog');
});
TEST_F('CrSettingsSiteListV3Test', 'AddExceptionDialog', function() {
runMochaSuite('AddExceptionDialog');
});
// eslint-disable-next-line no-var
var CrSettingsSiteDetailsV3Test = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/site_details_tests.m.js';
}
};
// Disabling on debug due to flaky timeout on Win7 Tests (dbg)(1) bot.
// https://crbug.com/825304 - later for other platforms in crbug.com/1021219.
// Disabling on Linux CFI due to flaky timeout (crbug.com/1031960).
GEN('#if (!defined(NDEBUG)) || (defined(OS_LINUX) && defined(IS_CFI))');
GEN('#define MAYBE_SiteDetails DISABLED_SiteDetails');
GEN('#else');
GEN('#define MAYBE_SiteDetails SiteDetails');
GEN('#endif');
TEST_F('CrSettingsSiteDetailsV3Test', 'MAYBE_SiteDetails', function() {
mocha.run();
});
// eslint-disable-next-line no-var
var CrSettingsPersonalizationOptionsV3Test =
class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://settings/test_loader.html?module=settings/personalization_options_test.m.js';
}
};
TEST_F('CrSettingsPersonalizationOptionsV3Test', 'AllBuilds', function() {
runMochaSuite('PersonalizationOptionsTests_AllBuilds');
});
GEN('#if BUILDFLAG(GOOGLE_CHROME_BRANDING)');
TEST_F('CrSettingsPersonalizationOptionsV3Test', 'OfficialBuild', function() {
runMochaSuite('PersonalizationOptionsTests_OfficialBuild');
});
GEN('#endif');
TEST_F('CrSettingsPersonalizationOptionsV3Test', 'AllBuildsOld', function() {
runMochaSuite('PersonalizationOptionsTests_AllBuilds_Old');
});
[['AllSites', 'all_sites_tests.m.js'],
['AppearanceFontsPage', 'appearance_fonts_page_test.m.js'],
['AppearancePage', 'appearance_page_test.m.js'],
['AutofillPage', 'autofill_page_test.m.js'],
['BasicPage', 'basic_page_test.m.js'],
['CategoryDefaultSetting', 'category_default_setting_tests.m.js'],
['CategorySettingExceptions', 'category_setting_exceptions_tests.m.js'],
['Checkbox', 'checkbox_tests.m.js'],
['ChooserExceptionList', 'chooser_exception_list_tests.m.js'],
['ChooserExceptionListEntry', 'chooser_exception_list_entry_tests.m.js'],
['ControlledButton', 'controlled_button_tests.m.js'],
['ControlledRadioButton', 'controlled_radio_button_tests.m.js'],
['DownloadsPage', 'downloads_page_test.m.js'],
['DropdownMenu', 'dropdown_menu_tests.m.js'],
['ExtensionControlledIndicator', 'extension_controlled_indicator_tests.m.js'],
['Languages', 'languages_tests.m.js'],
['Menu', 'settings_menu_test.m.js'],
['OnStartupPage', 'on_startup_page_tests.m.js'],
['PaymentsSection', 'payments_section_test.m.js'],
['PeoplePage', 'people_page_test.m.js'],
['PeoplePageSyncControls', 'people_page_sync_controls_test.m.js'],
['PeoplePageSyncPage', 'people_page_sync_page_test.m.js'],
['Prefs', 'prefs_tests.m.js'],
['PrefUtil', 'pref_util_tests.m.js'],
['ProtocolHandlers', 'protocol_handlers_tests.m.js'],
['RecentSitePermissions', 'recent_site_permissions_test.m.js'],
['ResetPage', 'reset_page_test.m.js'],
['SearchEngines', 'search_engines_page_test.m.js'],
['SearchPage', 'search_page_test.m.js'],
['Search', 'search_settings_test.m.js'],
['SecurityKeysSubpage', 'security_keys_subpage_test.m.js'],
// Copied from P2 test: Disabled for flakiness, see https://crbug.com/1061249
['SiteData', 'site_data_test.m.js', 'DISABLED_All'],
['SiteDataDetails', 'site_data_details_subpage_tests.m.js'],
['SiteDetailsPermission', 'site_details_permission_tests.m.js'],
['SiteEntry', 'site_entry_tests.m.js'],
['SiteFavicon', 'site_favicon_test.m.js'],
['SiteListEntry', 'site_list_entry_tests.m.js'],
['SiteSettingsPage', 'site_settings_page_test.m.js'],
['Slider', 'settings_slider_tests.m.js'],
['StartupUrlsPage', 'startup_urls_page_test.m.js'],
['Subpage', 'settings_subpage_test.m.js'],
['Textarea', 'settings_textarea_tests.m.js'],
['ToggleButton', 'settings_toggle_button_tests.m.js'],
].forEach(test => registerTest(...test));
GEN('#if defined(OS_CHROMEOS)');
[['PasswordsSectionCros', 'passwords_section_test_cros.m.js'],
['PeoplePageChromeOS', 'people_page_test_cros.m.js'],
// Copied from Polymer 2 test. TODO(crbug.com/929455): flaky, fix.
['SiteListChromeOS', 'site_list_tests_cros.m.js', 'DISABLED_AndroidSmsInfo'],
].forEach(test => registerTest(...test));
GEN('#endif // defined(OS_CHROMEOS)');
GEN('#if !defined(OS_MACOSX)');
[['EditDictionaryPage', 'edit_dictionary_page_test.m.js'],
].forEach(test => registerTest(...test));
GEN('#endif //!defined(OS_MACOSX)');
GEN('#if !defined(OS_CHROMEOS)');
[['DefaultBrowser', 'default_browser_browsertest.m.js'],
['ImportDataDialog', 'import_data_dialog_test.m.js'],
['PeoplePageManageProfile', 'people_page_manage_profile_test.m.js'],
['SystemPage', 'system_page_tests.m.js'],
].forEach(test => registerTest(...test));
GEN('#endif // !defined(OS_CHROMEOS)');
GEN('#if defined(OS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING)');
[['ChromeCleanupPage', 'chrome_cleanup_page_test.m.js'],
['IncompatibleApplicationsPage', 'incompatible_applications_page_test.m.js'],
].forEach(test => registerTest(...test));
GEN('#endif // defined(OS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING)');
function registerTest(testName, module, caseName) {
const className = `CrSettings${testName}V3Test`;
this[className] = class extends CrSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return `chrome://settings/test_loader.html?module=settings/${module}`;
}
};
TEST_F(className, caseName || 'All', () => mocha.run());
}