blob: f08a3d05269f801c2b1a60c54b456f59ec20aa47 [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.
suite('CrSettingsDoNotTrackToggleTest', function() {
/** @type {settings.TestMetricsBrowserProxy} */
let testMetricsBrowserProxy;
/** @type {SettingsDoNotTrackToggle} */
let testElement;
setup(function() {
testMetricsBrowserProxy = new TestMetricsBrowserProxy();
settings.MetricsBrowserProxyImpl.instance_ = testMetricsBrowserProxy;
PolymerTest.clearBody();
testElement = document.createElement('settings-do-not-track-toggle');
testElement.prefs = {
enable_do_not_track: {value: false},
};
document.body.appendChild(testElement);
Polymer.dom.flush();
});
teardown(function() {
testElement.remove();
});
test('logDoNotTrackClick', async function() {
testElement.$.toggle.click();
const result =
await testMetricsBrowserProxy.whenCalled('recordSettingsPageHistogram');
assertEquals(settings.PrivacyElementInteractions.DO_NOT_TRACK, result);
});
test('DialogAndToggleBehavior', function() {
testElement.$.toggle.click();
Polymer.dom.flush();
assertTrue(testElement.$.toggle.checked);
testElement.$$('.cancel-button').click();
assertFalse(testElement.$.toggle.checked);
assertFalse(testElement.prefs.enable_do_not_track.value);
testElement.$.toggle.click();
Polymer.dom.flush();
assertTrue(testElement.$.toggle.checked);
testElement.$$('.action-button').click();
assertTrue(testElement.$.toggle.checked);
assertTrue(testElement.prefs.enable_do_not_track.value);
});
});