blob: 09d5debdccb5b22c9a2aa541da986edb4f20bd60 [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 "ash/public/cpp/ash_features.h"');
GEN('#include "chrome/common/buildflags.h"');
GEN('#include "build/branding_buildflags.h"');
GEN('#include "content/public/test/browser_test.h"');
GEN('#include "chromeos/constants/chromeos_features.h"');
GEN('#include "chrome/browser/nearby_sharing/common/nearby_share_features.h"');
/** Test fixture for shared Polymer 3 elements. */
// eslint-disable-next-line no-var
var OSSettingsV3BrowserTest = class extends PolymerTest {
/** @override */
get browsePreload() {
return 'chrome://os-settings';
}
/** @override */
get extraLibraries() {
return [
'//third_party/mocha/mocha.js',
'//chrome/test/data/webui/mocha_adapter.js',
];
}
/** @override */
get featureList() {
return {
enabled: [
'chromeos::features::kEnableHostnameSetting',
'chromeos::features::kOsSettingsPolymer3',
'chromeos::features::kUpdatedCellularActivationUi',
],
};
}
};
// TODO(crbug/1109431): Remove this test once migration is complete.
// eslint-disable-next-line no-var
var OSSettingsOsLanguagesPageV3Test = class extends OSSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://os-settings/test_loader.html?module=settings/chromeos/os_languages_page_tests.m.js';
}
/** @override */
get featureList() {
return {
enabled: super.featureList.enabled,
disabled: ['chromeos::features::kLanguageSettingsUpdate']
};
}
};
TEST_F('OSSettingsOsLanguagesPageV3Test', 'All', () => mocha.run());
// TODO(crbug/1146900): Move this test down to the bottom where the rest are
// once the FullRestore flag is enabled by default.
// eslint-disable-next-line no-var
var OSSettingsOnStartupPageV3Test = class extends OSSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://os-settings/test_loader.html?module=settings/chromeos/on_startup_page_tests.m.js';
}
/** @override */
get featureList() {
return {
enabled: super.featureList.enabled,
disabled: ['ash::features::kFullRestore']
};
}
};
TEST_F('OSSettingsOnStartupPageV3Test', 'All', () => mocha.run());
// eslint-disable-next-line no-var
var OSSettingsNearbyShareSubPageV3Test = class extends OSSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return 'chrome://os-settings/test_loader.html?module=settings/chromeos/nearby_share_subpage_tests.m.js';
}
/** @override */
get featureList() {
return {
enabled: super.featureList.enabled.concat(['features::kNearbySharing'])
};
}
};
TEST_F('OSSettingsNearbyShareSubPageV3Test', 'All', () => mocha.run());
[['AmbientModePage', 'ambient_mode_page_test.m.js'],
['BluetoothPage', 'bluetooth_page_tests.m.js'],
['CellularNetworksList', 'cellular_networks_list_test.m.js'],
['CellularSetupDialog', 'cellular_setup_dialog_test.m.js'],
['DateTimePage', 'date_time_page_tests.m.js'],
['GoogleAssistantPage', 'google_assistant_page_test.m.js'],
['InputMethodOptionPage', 'input_method_options_page_test.m.js'],
['InputPage', 'input_page_test.m.js'],
['InternetConfig', 'internet_config_test.m.js'],
['InternetDetailPage', 'internet_detail_page_tests.m.js'],
['InternetKnownNetworksPage', 'internet_known_networks_page_tests.m.js'],
['InternetSubpage', 'internet_subpage_tests.m.js'],
['InternetPage', 'internet_page_tests.m.js'],
['LocalizedLink', 'localized_link_test.m.js'],
['MultideviceFeatureItem', 'multidevice_feature_item_tests.m.js'],
['MultideviceFeatureToggle', 'multidevice_feature_toggle_tests.m.js'],
['MultidevicePage', 'multidevice_page_tests.m.js'],
['MultideviceSmartLockSubPage', 'multidevice_smartlock_subpage_test.m.js'],
['MultideviceSubPage', 'multidevice_subpage_tests.m.js'],
[
'MultideviceWifiSyncDisabledLink',
'multidevice_wifi_sync_disabled_link_tests.m.js'
],
['MultideviceWifiSyncItem', 'multidevice_wifi_sync_item_tests.m.js'],
['NetworkProxySection', 'network_proxy_section_test.m.js'],
['NetworkSummary', 'network_summary_test.m.js'],
['NetworkSummaryItem', 'network_summary_item_test.m.js'],
['OsEditDictionaryPage', 'os_edit_dictionary_page_test.m.js'],
['OsLanguagesPageV2', 'os_languages_page_v2_tests.m.js'],
['OsSearchPage', 'os_search_page_test.m.js'],
['NearbyShareReceiveDialog', 'nearby_share_receive_dialog_tests.m.js'],
['ParentalControlsPage', 'parental_controls_page_test.m.js'],
['PeoplePage', 'os_people_page_test.m.js'],
['PeoplePageAccountManager', 'people_page_account_manager_test.m.js'],
['PeoplePageChangePicture', 'people_page_change_picture_test.m.js'],
['PeoplePageKerberosAccounts', 'people_page_kerberos_accounts_test.m.js'],
['PersonalizationPage', 'personalization_page_test.m.js'],
['PrintingPage', 'os_printing_page_tests.m.js'],
['PrivacyPage', 'os_privacy_page_test.m.js'],
['SmbPage', 'smb_shares_page_tests.m.js'],
['FilesPage', 'os_files_page_test.m.js'],
['ResetPage', 'os_reset_page_test.m.js'],
['SmartInputsPage', 'smart_inputs_page_test.m.js'],
['TetherConnectionDialog', 'tether_connection_dialog_test.m.js'],
['TimezoneSelector', 'timezone_selector_test.m.js'],
['TimezoneSubpage', 'timezone_subpage_test.m.js'],
['CupsPrinterPage', 'cups_printer_page_tests.m.js'],
['CupsPrinterLandingPage', 'cups_printer_landing_page_tests.m.js'],
['CupsPrinterEntry', 'cups_printer_entry_tests.m.js'],
['AboutPage', 'os_about_page_tests.m.js'],
].forEach(test => registerTest(...test));
function registerTest(testName, module, caseName) {
const className = `OSSettings${testName}V3Test`;
this[className] = class extends OSSettingsV3BrowserTest {
/** @override */
get browsePreload() {
return `chrome://os-settings/test_loader.html?module=settings/chromeos/${module}`;
}
};
// AboutPage has a test suite that can only succeed on official builds where
// the is_chrome_branded build flag is enabled.
if (testName === 'AboutPage') {
TEST_F(className, 'AllBuilds' || 'All', () => {
mocha.grep('/^(?!AboutPageTest_OfficialBuild).*$/').run();
});
GEN('#if BUILDFLAG(GOOGLE_CHROME_BRANDING)');
TEST_F(className, 'OfficialBuild' || 'All', () => {
mocha.grep('AboutPageTest_OfficialBuild').run();
});
GEN('#endif');
} else if (testName === 'PrivacyPage') {
// PrivacyPage has a test suite that can only succeed on official builds
// where the is_chrome_branded build flag is enabled.
TEST_F(className, 'AllBuilds' || 'All', () => {
mocha.grep('/^(?!PrivacePageTest_OfficialBuild).*$/').run();
});
GEN('#if BUILDFLAG(GOOGLE_CHROME_BRANDING)');
TEST_F(className, 'OfficialBuild' || 'All', () => {
mocha.grep('PrivacePageTest_OfficialBuild').run();
});
GEN('#endif');
} else {
TEST_F(className, caseName || 'All', () => mocha.run());
}
}