| Index: chrome/test/data/webui/cr_elements/cr_policy_pref_indicator_tests.js
|
| diff --git a/chrome/test/data/webui/cr_elements/cr_policy_pref_indicator_tests.js b/chrome/test/data/webui/cr_elements/cr_policy_pref_indicator_tests.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e54f1b8c8d00a894104582067cafb220449951b7
|
| --- /dev/null
|
| +++ b/chrome/test/data/webui/cr_elements/cr_policy_pref_indicator_tests.js
|
| @@ -0,0 +1,78 @@
|
| +// Copyright 2017 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 Suite of tests for cr_policy-pref-indicator. */
|
| +suite('CrPolicyPrefIndicator', function() {
|
| + /** @type {!CrPolicyPrefIndicatorElement|undefined} */
|
| + var indicator;
|
| +
|
| + /** @type {!PaperTooltipElement|undefined} */
|
| + var tooltip;
|
| +
|
| + setup(function() {
|
| + PolymerTest.clearBody();
|
| +
|
| + CrPolicyStrings = {
|
| + controlledSettingPolicy: 'policy',
|
| + controlledSettingRecommendedMatches: 'matches',
|
| + controlledSettingRecommendedDiffers: 'differs',
|
| + controlledSettingShared: 'shared: $1',
|
| + controlledSettingOwner: 'owner: $1',
|
| + };
|
| +
|
| + indicator = document.createElement('cr-policy-pref-indicator');
|
| + document.body.appendChild(indicator);
|
| + tooltip = indicator.$$('paper-tooltip');
|
| + });
|
| +
|
| + teardown(function() {
|
| + PolymerTest.clearBody(); // crbug.com/680169
|
| + });
|
| +
|
| + test('none', function() {
|
| + assertTrue(indicator.$.indicator.hidden);
|
| + });
|
| +
|
| + test('indicatorType', function() {
|
| + indicator.indicatorType = CrPolicyIndicatorType.DEVICE_POLICY;
|
| + Polymer.dom.flush();
|
| + assertFalse(indicator.$.indicator.hidden);
|
| + assertEquals('cr:domain', indicator.$.indicator.icon);
|
| + assertEquals('policy', tooltip.textContent.trim());
|
| + });
|
| +
|
| + test('pref', function() {
|
| + /** @type {!chrome.settingsPrivate.PrefObject} */
|
| + indicator.pref = {
|
| + key: 'foo',
|
| + type: chrome.settingsPrivate.PrefType.BOOLEAN,
|
| + value: false,
|
| + };
|
| + Polymer.dom.flush();
|
| + assertTrue(indicator.$.indicator.hidden);
|
| +
|
| + indicator.set(
|
| + 'pref.controlledBy', chrome.settingsPrivate.ControlledBy.OWNER);
|
| + indicator.set('pref.controlledByName', 'owner_name');
|
| + indicator.set(
|
| + 'pref.enforcement', chrome.settingsPrivate.Enforcement.ENFORCED);
|
| + Polymer.dom.flush();
|
| + assertFalse(indicator.$.indicator.hidden);
|
| + assertEquals('cr:person', indicator.$.indicator.icon);
|
| + assertEquals('owner: owner_name', tooltip.textContent.trim());
|
| +
|
| + indicator.set('pref.value', 'foo');
|
| + indicator.set('pref.recommendedValue', 'bar');
|
| + indicator.set(
|
| + 'pref.enforcement', chrome.settingsPrivate.Enforcement.RECOMMENDED);
|
| + Polymer.dom.flush();
|
| + assertFalse(indicator.$.indicator.hidden);
|
| + assertEquals('cr:domain', indicator.$.indicator.icon);
|
| + assertEquals('differs', tooltip.textContent.trim());
|
| +
|
| + indicator.set('pref.value', 'bar');
|
| + Polymer.dom.flush();
|
| + assertEquals('matches', tooltip.textContent.trim());
|
| + });
|
| +});
|
|
|