Commit e063f324 authored by sauski's avatar sauski Committed by Commit Bot

WebUI Settings: Extend test type checking

Added type checking for the following tests:
    - collapse_radio_button_tests.js
    - do_not_track_toggle_test.js
    - recent_site_permissions_test.js

Bug: 1000989
Change-Id: I310777a6f17ffff9c63b03965c71ea14485b54d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2489630
Commit-Queue: Theodore Olsauskas-Warren <sauski@google.com>
Reviewed-by: default avatarSean Harrison <harrisonsean@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820172}
parent 0f134b1a
...@@ -64,6 +64,7 @@ js_type_check("closure_compile_module") { ...@@ -64,6 +64,7 @@ js_type_check("closure_compile_module") {
js_library("cookies_page") { js_library("cookies_page") {
deps = [ deps = [
":collapse_radio_button", ":collapse_radio_button",
":do_not_track_toggle",
"..:metrics_browser_proxy", "..:metrics_browser_proxy",
"..:route", "..:route",
"..:router.m", "..:router.m",
......
...@@ -85,13 +85,15 @@ js_type_check("closure_compile") { ...@@ -85,13 +85,15 @@ js_type_check("closure_compile") {
#":chooser_exception_list_tests", #":chooser_exception_list_tests",
#":chrome_cleanup_page_test", #":chrome_cleanup_page_test",
#":clear_browsing_data_test", #":clear_browsing_data_test",
#":collapse_radio_button_tests", ":collapse_radio_button_tests",
#":controlled_button_tests", #":controlled_button_tests",
#":controlled_radio_button_tests", #":controlled_radio_button_tests",
":cookies_page_test", ":cookies_page_test",
#":default_browser_browsertest", #":default_browser_browsertest",
#":do_not_track_toggle_test", ":do_not_track_toggle_test",
#":downloads_page_test", #":downloads_page_test",
#":dropdown_menu_tests", #":dropdown_menu_tests",
#":edit_dictionary_page_test", #":edit_dictionary_page_test",
...@@ -131,7 +133,8 @@ js_type_check("closure_compile") { ...@@ -131,7 +133,8 @@ js_type_check("closure_compile") {
":privacy_page_test", ":privacy_page_test",
#":protocol_handlers_tests", #":protocol_handlers_tests",
#":recent_site_permissions_test", ":recent_site_permissions_test",
#":reset_page_test", #":reset_page_test",
#":reset_profile_banner_test", #":reset_profile_banner_test",
#":route_tests", #":route_tests",
...@@ -225,6 +228,16 @@ js_library("advanced_page_test") { ...@@ -225,6 +228,16 @@ js_library("advanced_page_test") {
externs_list = [ "$externs_path/mocha-2.5.js" ] externs_list = [ "$externs_path/mocha-2.5.js" ]
} }
js_library("collapse_radio_button_tests") {
deps = [
"..:chai_assert",
"..:test_util.m",
"//chrome/browser/resources/settings:lazy_load",
"//chrome/browser/resources/settings:settings",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("cookies_page_test") { js_library("cookies_page_test") {
deps = [ deps = [
":test_metrics_browser_proxy", ":test_metrics_browser_proxy",
...@@ -238,6 +251,17 @@ js_library("cookies_page_test") { ...@@ -238,6 +251,17 @@ js_library("cookies_page_test") {
externs_list = [ "$externs_path/mocha-2.5.js" ] externs_list = [ "$externs_path/mocha-2.5.js" ]
} }
js_library("do_not_track_toggle_test") {
deps = [
":test_metrics_browser_proxy",
"..:chai_assert",
"..:test_util.m",
"//chrome/browser/resources/settings:lazy_load",
"//ui/webui/resources/js:load_time_data.m",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("fake_language_settings_private.m") { js_library("fake_language_settings_private.m") {
sources = [ "$root_gen_dir/chrome/test/data/webui/settings/fake_language_settings_private.m.js" ] sources = [ "$root_gen_dir/chrome/test/data/webui/settings/fake_language_settings_private.m.js" ]
deps = [ deps = [
...@@ -310,6 +334,19 @@ js_library("privacy_page_test") { ...@@ -310,6 +334,19 @@ js_library("privacy_page_test") {
externs_list = [ "$externs_path/mocha-2.5.js" ] externs_list = [ "$externs_path/mocha-2.5.js" ]
} }
js_library("recent_site_permissions_test") {
deps = [
":test_site_settings_prefs_browser_proxy",
"..:chai_assert",
"..:test_util.m",
"//chrome/browser/resources/settings:lazy_load",
"//chrome/browser/resources/settings:settings",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:load_time_data.m",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("safety_check_chrome_cleaner_test") { js_library("safety_check_chrome_cleaner_test") {
deps = [ deps = [
":test_metrics_browser_proxy", ":test_metrics_browser_proxy",
......
...@@ -3,21 +3,22 @@ ...@@ -3,21 +3,22 @@
// found in the LICENSE file. // found in the LICENSE file.
// clang-format off // clang-format off
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import 'chrome://settings/lazy_load.js'; import 'chrome://settings/lazy_load.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {assertFalse, assertTrue} from '../chai_assert.js';
import {isChildVisible} from 'chrome://test/test_util.m.js'; import {isChildVisible} from '../test_util.m.js';
// clang-format on // clang-format on
suite('CrCollapseRadioButton', function() { suite('CrCollapseRadioButton', function() {
/** @type {SettingsCollapseRadioButtonElement} */ /** @type {!SettingsCollapseRadioButtonElement} */
let collapseRadioButton; let collapseRadioButton;
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
collapseRadioButton = collapseRadioButton = /** @type {!SettingsCollapseRadioButtonElement} */ (
document.createElement('settings-collapse-radio-button'); document.createElement('settings-collapse-radio-button'));
document.body.appendChild(collapseRadioButton); document.body.appendChild(collapseRadioButton);
flush(); flush();
}); });
......
...@@ -3,24 +3,29 @@ ...@@ -3,24 +3,29 @@
// found in the LICENSE file. // found in the LICENSE file.
// clang-format off // clang-format off
import 'chrome://settings/lazy_load.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import 'chrome://settings/lazy_load.js';
import {MetricsBrowserProxyImpl, PrivacyElementInteractions} from 'chrome://settings/settings.js'; import {MetricsBrowserProxyImpl, PrivacyElementInteractions} from 'chrome://settings/settings.js';
import {TestMetricsBrowserProxy} from 'chrome://test/settings/test_metrics_browser_proxy.js';
import {assertEquals, assertFalse, assertTrue} from '../chai_assert.js';
import {TestMetricsBrowserProxy} from './test_metrics_browser_proxy.js';
// clang-format on // clang-format on
suite('CrSettingsDoNotTrackToggleTest', function() { suite('CrSettingsDoNotTrackToggleTest', function() {
/** @type {settings.TestMetricsBrowserProxy} */ /** @type {TestMetricsBrowserProxy} */
let testMetricsBrowserProxy; let testMetricsBrowserProxy;
/** @type {SettingsDoNotTrackToggle} */ /** @type {SettingsDoNotTrackToggleElement} */
let testElement; let testElement;
setup(function() { setup(function() {
testMetricsBrowserProxy = new TestMetricsBrowserProxy(); testMetricsBrowserProxy = new TestMetricsBrowserProxy();
MetricsBrowserProxyImpl.instance_ = testMetricsBrowserProxy; MetricsBrowserProxyImpl.instance_ = testMetricsBrowserProxy;
PolymerTest.clearBody(); document.body.innerHTML = '';
testElement = document.createElement('settings-do-not-track-toggle'); testElement = /** @type {SettingsDoNotTrackToggleElement} */ (
document.createElement('settings-do-not-track-toggle'));
testElement.prefs = { testElement.prefs = {
enable_do_not_track: {value: false}, enable_do_not_track: {value: false},
}; };
......
...@@ -4,10 +4,13 @@ ...@@ -4,10 +4,13 @@
// clang-format off // clang-format off
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {ContentSetting,SiteSettingSource,SiteSettingsPrefsBrowserProxyImpl} from 'chrome://settings/lazy_load.js'; import {ContentSetting, SiteSettingSource, SiteSettingsPrefsBrowserProxyImpl} from 'chrome://settings/lazy_load.js';
import {routes} from 'chrome://settings/settings.js'; import {Router, routes} from 'chrome://settings/settings.js';
import {TestSiteSettingsPrefsBrowserProxy} from 'chrome://test/settings/test_site_settings_prefs_browser_proxy.js';
import {isChildVisible,isVisible} from 'chrome://test/test_util.m.js'; import {assertEquals, assertFalse, assertTrue} from '../chai_assert.js';
import {isChildVisible, isVisible} from '../test_util.m.js';
import {TestSiteSettingsPrefsBrowserProxy} from './test_site_settings_prefs_browser_proxy.js';
// clang-format on // clang-format on
...@@ -18,33 +21,36 @@ suite('CrSettingsRecentSitePermissionsTest', function() { ...@@ -18,33 +21,36 @@ suite('CrSettingsRecentSitePermissionsTest', function() {
*/ */
let browserProxy = null; let browserProxy = null;
/** @type {SettingsRecentSitePermissionsElement} */ /** @type {!SettingsRecentSitePermissionsElement} */
let testElement; let testElement;
setup(function() { setup(function() {
browserProxy = new TestSiteSettingsPrefsBrowserProxy(); browserProxy = new TestSiteSettingsPrefsBrowserProxy();
SiteSettingsPrefsBrowserProxyImpl.instance_ = browserProxy; SiteSettingsPrefsBrowserProxyImpl.instance_ = browserProxy;
PolymerTest.clearBody(); document.body.innerHTML = '';
testElement = document.createElement('settings-recent-site-permissions'); testElement =
/** @type {!SettingsRecentSitePermissionsElement} */
(document.createElement('settings-recent-site-permissions'));
document.body.appendChild(testElement); document.body.appendChild(testElement);
flush(); flush();
}); });
teardown(function() { teardown(function() {
testElement.remove(); testElement.remove();
Router.getInstance().navigateTo(routes.BASIC);
}); });
test('No recent permissions', async function() { test('No recent permissions', async function() {
browserProxy.setRecentSitePermissions([]); browserProxy.setRecentSitePermissions([]);
testElement.currentRouteChanged(routes.SITE_SETTINGS); Router.getInstance().navigateTo(routes.SITE_SETTINGS);
await browserProxy.whenCalled('getRecentSitePermissions'); await browserProxy.whenCalled('getRecentSitePermissions');
flush(); flush();
assertTrue(isVisible(testElement, '#noPermissionsText')); assertTrue(isChildVisible(testElement, '#noPermissionsText'));
}); });
test('Various recent permissions', async function() { test('Various recent permissions', async function() {
const mockData = Promise.resolve([ const mockData = [
{ {
origin: 'https://bar.com', origin: 'https://bar.com',
incognito: true, incognito: true,
...@@ -66,9 +72,9 @@ suite('CrSettingsRecentSitePermissionsTest', function() { ...@@ -66,9 +72,9 @@ suite('CrSettingsRecentSitePermissionsTest', function() {
} }
] ]
}, },
]); ];
browserProxy.setRecentSitePermissions(mockData); browserProxy.setRecentSitePermissions(mockData);
testElement.currentRouteChanged(routes.SITE_SETTINGS); Router.getInstance().navigateTo(routes.SITE_SETTINGS);
await browserProxy.whenCalled('getRecentSitePermissions'); await browserProxy.whenCalled('getRecentSitePermissions');
flush(); flush();
...@@ -78,8 +84,8 @@ suite('CrSettingsRecentSitePermissionsTest', function() { ...@@ -78,8 +84,8 @@ suite('CrSettingsRecentSitePermissionsTest', function() {
const siteEntries = testElement.shadowRoot.querySelectorAll('.link-button'); const siteEntries = testElement.shadowRoot.querySelectorAll('.link-button');
assertEquals(3, siteEntries.length); assertEquals(3, siteEntries.length);
const incognitoIcons = const incognitoIcons = /** @type !NodeList<!HTMLElement> */ (
testElement.shadowRoot.querySelectorAll('.incognito-icon'); testElement.shadowRoot.querySelectorAll('.incognito-icon'));
assertTrue(isVisible(incognitoIcons[0])); assertTrue(isVisible(incognitoIcons[0]));
assertFalse(isVisible(incognitoIcons[1])); assertFalse(isVisible(incognitoIcons[1]));
assertFalse(isVisible(incognitoIcons[2])); assertFalse(isVisible(incognitoIcons[2]));
......
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