Commit 7ee420f2 authored by rbpotter's avatar rbpotter Committed by Chromium LUCI CQ

Print Preview: Closure compile model related tests

Add js_library targets for:
model_settings_availability_test
model_settings_policy_test
model_test

Bug: 1000989
Change-Id: Ida87d1c829e06fb3026f8251d7fe5c36012a3d04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2617214Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#841698}
parent 28788936
...@@ -55,10 +55,9 @@ js_type_check("closure_compile") { ...@@ -55,10 +55,9 @@ js_type_check("closure_compile") {
":link_container_test", ":link_container_test",
":margins_settings_test", ":margins_settings_test",
":media_size_settings_test", ":media_size_settings_test",
":model_settings_availability_test",
#":model_settings_availability_test", ":model_settings_policy_test",
#":model_settings_policy_test", ":model_test",
#":model_test",
":native_layer_stub", ":native_layer_stub",
#":number_settings_section_interactive_test", #":number_settings_section_interactive_test",
...@@ -526,6 +525,42 @@ js_library("media_size_settings_test") { ...@@ -526,6 +525,42 @@ js_library("media_size_settings_test") {
externs_list = [ "$externs_path/mocha-2.5.js" ] externs_list = [ "$externs_path/mocha-2.5.js" ]
} }
js_library("model_settings_availability_test") {
deps = [
":print_preview_test_utils",
"..:chai_assert",
"//chrome/browser/resources/print_preview:print_preview",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:load_time_data.m",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("model_settings_policy_test") {
deps = [
":print_preview_test_utils",
"..:chai_assert",
"//chrome/browser/resources/print_preview:print_preview",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:load_time_data.m",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("model_test") {
deps = [
":print_preview_test_utils",
"..:chai_assert",
"..:test_util.m",
"//chrome/browser/resources/print_preview:print_preview",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:load_time_data.m",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
if (is_chromeos_ash) { if (is_chromeos_ash) {
js_library("print_server_store_test") { js_library("print_server_store_test") {
deps = [ deps = [
......
...@@ -5,15 +5,21 @@ ...@@ -5,15 +5,21 @@
import {Destination, DestinationConnectionStatus, DestinationOrigin, DestinationType, DuplexType, Margins, MarginsType, Size} from 'chrome://print/print_preview.js'; import {Destination, DestinationConnectionStatus, DestinationOrigin, DestinationType, DuplexType, Margins, MarginsType, Size} from 'chrome://print/print_preview.js';
import {assert} from 'chrome://resources/js/assert.m.js'; import {assert} from 'chrome://resources/js/assert.m.js';
import {isChromeOS, isMac, isWindows} from 'chrome://resources/js/cr.m.js'; import {isChromeOS, isMac, isWindows} from 'chrome://resources/js/cr.m.js';
import {getCddTemplate, getGoogleDriveDestination, getSaveAsPdfDestination} from 'chrome://test/print_preview/print_preview_test_utils.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
import {assertEquals, assertFalse, assertTrue} from '../chai_assert.js';
import {getCddTemplate, getGoogleDriveDestination, getSaveAsPdfDestination} from './print_preview_test_utils.js';
suite('ModelSettingsAvailabilityTest', function() { suite('ModelSettingsAvailabilityTest', function() {
let model = null; /** @type {!PrintPreviewModelElement} */
let model;
/** @override */ /** @override */
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
model = document.createElement('print-preview-model'); model = /** @type {!PrintPreviewModelElement} */ (
document.createElement('print-preview-model'));
document.body.appendChild(model); document.body.appendChild(model);
model.documentSettings = { model.documentSettings = {
...@@ -180,7 +186,7 @@ suite('ModelSettingsAvailabilityTest', function() { ...@@ -180,7 +186,7 @@ suite('ModelSettingsAvailabilityTest', function() {
assertFalse(model.settings.color.available); assertFalse(model.settings.color.available);
assertEquals( assertEquals(
capabilityAndValue.expectedValue, capabilityAndValue.expectedValue,
model.settings.color.unavailableValue); /** @type {boolean} */ (model.settings.color.unavailableValue));
}); });
// Each of these settings should make the setting available, with the // Each of these settings should make the setting available, with the
...@@ -227,7 +233,7 @@ suite('ModelSettingsAvailabilityTest', function() { ...@@ -227,7 +233,7 @@ suite('ModelSettingsAvailabilityTest', function() {
delete capabilities.printer.color; delete capabilities.printer.color;
model.set('destination.capabilities', capabilities); model.set('destination.capabilities', capabilities);
assertFalse(model.settings.color.available); assertFalse(model.settings.color.available);
assertTrue(model.settings.color.unavailableValue); assertTrue(/** @type {boolean} */ (model.settings.color.unavailableValue));
assertFalse(model.settings.color.setFromUi); assertFalse(model.settings.color.setFromUi);
}); });
......
...@@ -4,15 +4,21 @@ ...@@ -4,15 +4,21 @@
import {ColorModeRestriction, Destination, DestinationConnectionStatus, DestinationOrigin, DestinationType, DuplexModeRestriction, Margins, MarginsType, PinModeRestriction, Size} from 'chrome://print/print_preview.js'; import {ColorModeRestriction, Destination, DestinationConnectionStatus, DestinationOrigin, DestinationType, DuplexModeRestriction, Margins, MarginsType, PinModeRestriction, Size} from 'chrome://print/print_preview.js';
import {assert} from 'chrome://resources/js/assert.m.js'; import {assert} from 'chrome://resources/js/assert.m.js';
import {getCddTemplate} from 'chrome://test/print_preview/print_preview_test_utils.js'; import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
import {assertEquals} from '../chai_assert.js';
import {getCddTemplate} from './print_preview_test_utils.js';
suite('ModelSettingsPolicyTest', function() { suite('ModelSettingsPolicyTest', function() {
let model = null; /** @type {!PrintPreviewModelElement} */
let model;
/** @override */ /** @override */
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
model = document.createElement('print-preview-model'); model = /** @type {!PrintPreviewModelElement} */ (
document.createElement('print-preview-model'));
document.body.appendChild(model); document.body.appendChild(model);
model.documentSettings = { model.documentSettings = {
...@@ -22,6 +28,8 @@ suite('ModelSettingsPolicyTest', function() { ...@@ -22,6 +28,8 @@ suite('ModelSettingsPolicyTest', function() {
isScalingDisabled: false, isScalingDisabled: false,
fitToPageScaling: 100, fitToPageScaling: 100,
pageCount: 3, pageCount: 3,
isPdf: false,
isFromArc: false,
title: 'title', title: 'title',
}; };
......
...@@ -2,14 +2,20 @@ ...@@ -2,14 +2,20 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {Destination, DestinationConnectionStatus, DestinationOrigin, DestinationType, DuplexMode, MarginsType, PrinterType, ScalingType, Size} from 'chrome://print/print_preview.js'; import {Cdd, Destination, DestinationConnectionStatus, DestinationOrigin, DestinationType, DuplexMode, MarginsType, PrinterType, ScalingType, Size} from 'chrome://print/print_preview.js';
import {assert} from 'chrome://resources/js/assert.m.js'; import {assert} from 'chrome://resources/js/assert.m.js';
import {isChromeOS} from 'chrome://resources/js/cr.m.js'; import {isChromeOS} from 'chrome://resources/js/cr.m.js';
import {loadTimeData} from 'chrome://resources/js/load_time_data.m.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 {getCddTemplateWithAdvancedSettings} from 'chrome://test/print_preview/print_preview_test_utils.js';
import {eventToPromise} from 'chrome://test/test_util.m.js'; import {assertDeepEquals, assertEquals, assertFalse, assertNotEquals, assertTrue} from '../chai_assert.js';
import {eventToPromise} from '../test_util.m.js';
import {getCddTemplateWithAdvancedSettings} from './print_preview_test_utils.js';
window.model_test = {}; window.model_test = {};
const model_test = window.model_test;
model_test.suiteName = 'ModelTest'; model_test.suiteName = 'ModelTest';
/** @enum {string} */ /** @enum {string} */
model_test.TestNames = { model_test.TestNames = {
...@@ -22,12 +28,14 @@ model_test.TestNames = { ...@@ -22,12 +28,14 @@ model_test.TestNames = {
}; };
suite(model_test.suiteName, function() { suite(model_test.suiteName, function() {
let model = null; /** @type {!PrintPreviewModelElement} */
let model;
/** @override */ /** @override */
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
model = document.createElement('print-preview-model'); model = /** @type {!PrintPreviewModelElement} */ (
document.createElement('print-preview-model'));
document.body.appendChild(model); document.body.appendChild(model);
}); });
...@@ -158,7 +166,7 @@ suite(model_test.suiteName, function() { ...@@ -158,7 +166,7 @@ suite(model_test.suiteName, function() {
*/ */
test(assert(model_test.TestNames.SetPolicySettings), function() { test(assert(model_test.TestNames.SetPolicySettings), function() {
model.setSetting('headerFooter', false); model.setSetting('headerFooter', false);
assertFalse(model.settings.headerFooter.value); assertFalse(/** @type {boolean} */ (model.settings.headerFooter.value));
// Sets to true, but doesn't mark as controlled by a policy. // Sets to true, but doesn't mark as controlled by a policy.
model.setPolicySettings({headerFooter: {defaultMode: true}}); model.setPolicySettings({headerFooter: {defaultMode: true}});
...@@ -167,18 +175,18 @@ suite(model_test.suiteName, function() { ...@@ -167,18 +175,18 @@ suite(model_test.suiteName, function() {
headerFooter: false, headerFooter: false,
})); }));
model.applyStickySettings(); model.applyStickySettings();
assertTrue(model.settings.headerFooter.value); assertTrue(/** @type {boolean} */ (model.settings.headerFooter.value));
model.setSetting('headerFooter', false); model.setSetting('headerFooter', false);
assertFalse(model.settings.headerFooter.value); assertFalse(/** @type {boolean} */ (model.settings.headerFooter.value));
model.setPolicySettings({headerFooter: {allowedMode: true}}); model.setPolicySettings({headerFooter: {allowedMode: true}});
model.applyStickySettings(); model.applyStickySettings();
assertTrue(model.settings.headerFooter.value); assertTrue(/** @type {boolean} */ (model.settings.headerFooter.value));
model.setSetting('headerFooter', false); model.setSetting('headerFooter', false);
// The value didn't change after setSetting(), because the policy takes // The value didn't change after setSetting(), because the policy takes
// priority. // priority.
assertTrue(model.settings.headerFooter.value); assertTrue(/** @type {boolean} */ (model.settings.headerFooter.value));
}); });
/** @param {!Destination} testDestination */ /** @param {!Destination} testDestination */
...@@ -236,6 +244,7 @@ suite(model_test.suiteName, function() { ...@@ -236,6 +244,7 @@ suite(model_test.suiteName, function() {
isScalingDisabled: false, isScalingDisabled: false,
fitToPageScaling: 100, fitToPageScaling: 100,
pageCount: 3, pageCount: 3,
isFromArc: false,
title: 'title', title: 'title',
}; };
model.pageSize = new Size(612, 792); model.pageSize = new Size(612, 792);
...@@ -263,7 +272,7 @@ suite(model_test.suiteName, function() { ...@@ -263,7 +272,7 @@ suite(model_test.suiteName, function() {
'FooDevice', DestinationType.LOCAL, origin, 'FooName', 'FooDevice', DestinationType.LOCAL, origin, 'FooName',
DestinationConnectionStatus.ONLINE); DestinationConnectionStatus.ONLINE);
testDestination.capabilities = testDestination.capabilities =
getCddTemplateWithAdvancedSettings(2).capabilities; getCddTemplateWithAdvancedSettings(2, 'FooDevice').capabilities;
if (isChromeOS) { if (isChromeOS) {
// Make device managed. It's used for testing pin setting behavior. // Make device managed. It's used for testing pin setting behavior.
...@@ -307,7 +316,7 @@ suite(model_test.suiteName, function() { ...@@ -307,7 +316,7 @@ suite(model_test.suiteName, function() {
paperType: 0, paperType: 0,
}; };
} }
expectEquals(JSON.stringify(expectedDefaultTicketObject), defaultTicket); assertEquals(JSON.stringify(expectedDefaultTicketObject), defaultTicket);
// Toggle all the values and create a new print ticket. // Toggle all the values and create a new print ticket.
toggleSettings(testDestination); toggleSettings(testDestination);
...@@ -353,7 +362,7 @@ suite(model_test.suiteName, function() { ...@@ -353,7 +362,7 @@ suite(model_test.suiteName, function() {
}; };
} }
expectEquals(JSON.stringify(expectedNewTicketObject), newTicket); assertEquals(JSON.stringify(expectedNewTicketObject), newTicket);
}); });
/** /**
...@@ -368,7 +377,7 @@ suite(model_test.suiteName, function() { ...@@ -368,7 +377,7 @@ suite(model_test.suiteName, function() {
'FooCloudDevice', DestinationType.GOOGLE, DestinationOrigin.COOKIES, 'FooCloudDevice', DestinationType.GOOGLE, DestinationOrigin.COOKIES,
'FooCloudName', DestinationConnectionStatus.ONLINE); 'FooCloudName', DestinationConnectionStatus.ONLINE);
testDestination.capabilities = testDestination.capabilities =
getCddTemplateWithAdvancedSettings(2).capabilities; getCddTemplateWithAdvancedSettings(2, 'FooDevice').capabilities;
model.destination = testDestination; model.destination = testDestination;
const defaultTicket = model.createCloudJobTicket(testDestination); const defaultTicket = model.createCloudJobTicket(testDestination);
...@@ -396,7 +405,7 @@ suite(model_test.suiteName, function() { ...@@ -396,7 +405,7 @@ suite(model_test.suiteName, function() {
], ],
}, },
}); });
expectEquals(expectedDefaultTicket, defaultTicket); assertEquals(expectedDefaultTicket, defaultTicket);
// Toggle all the values and create a new cloud job ticket. // Toggle all the values and create a new cloud job ticket.
toggleSettings(testDestination); toggleSettings(testDestination);
...@@ -425,7 +434,7 @@ suite(model_test.suiteName, function() { ...@@ -425,7 +434,7 @@ suite(model_test.suiteName, function() {
], ],
}, },
}); });
expectEquals(expectedNewTicket, newTicket); assertEquals(expectedNewTicket, newTicket);
}); });
test(assert(model_test.TestNames.ChangeDestination), function() { test(assert(model_test.TestNames.ChangeDestination), function() {
...@@ -433,7 +442,7 @@ suite(model_test.suiteName, function() { ...@@ -433,7 +442,7 @@ suite(model_test.suiteName, function() {
'FooDevice', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'FooName', 'FooDevice', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'FooName',
DestinationConnectionStatus.ONLINE); DestinationConnectionStatus.ONLINE);
testDestination.capabilities = testDestination.capabilities =
getCddTemplateWithAdvancedSettings(2).capabilities; getCddTemplateWithAdvancedSettings(2, 'FooDevice').capabilities;
// Make black and white printing the default. // Make black and white printing the default.
testDestination.capabilities.printer.color = { testDestination.capabilities.printer.color = {
option: [ option: [
...@@ -446,7 +455,7 @@ suite(model_test.suiteName, function() { ...@@ -446,7 +455,7 @@ suite(model_test.suiteName, function() {
'BarDevice', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'BarName', 'BarDevice', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'BarName',
DestinationConnectionStatus.ONLINE); DestinationConnectionStatus.ONLINE);
testDestination2.capabilities = testDestination2.capabilities =
Object.assign({}, testDestination.capabilities); /** @type {!Cdd} */ (Object.assign({}, testDestination.capabilities));
// Initialize // Initialize
initializeModel(); initializeModel();
...@@ -486,7 +495,7 @@ suite(model_test.suiteName, function() { ...@@ -486,7 +495,7 @@ suite(model_test.suiteName, function() {
'Device1', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'One', 'Device1', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'One',
DestinationConnectionStatus.ONLINE); DestinationConnectionStatus.ONLINE);
testDestination3.capabilities = testDestination3.capabilities =
Object.assign({}, testDestination.capabilities); /** @type {!Cdd} */ (Object.assign({}, testDestination.capabilities));
testDestination3.capabilities.printer.media_size = { testDestination3.capabilities.printer.media_size = {
option: [ option: [
{ {
......
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