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") {
":link_container_test",
":margins_settings_test",
":media_size_settings_test",
#":model_settings_availability_test",
#":model_settings_policy_test",
#":model_test",
":model_settings_availability_test",
":model_settings_policy_test",
":model_test",
":native_layer_stub",
#":number_settings_section_interactive_test",
......@@ -526,6 +525,42 @@ js_library("media_size_settings_test") {
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) {
js_library("print_server_store_test") {
deps = [
......
......@@ -5,15 +5,21 @@
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 {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() {
let model = null;
/** @type {!PrintPreviewModelElement} */
let model;
/** @override */
setup(function() {
PolymerTest.clearBody();
model = document.createElement('print-preview-model');
document.body.innerHTML = '';
model = /** @type {!PrintPreviewModelElement} */ (
document.createElement('print-preview-model'));
document.body.appendChild(model);
model.documentSettings = {
......@@ -180,7 +186,7 @@ suite('ModelSettingsAvailabilityTest', function() {
assertFalse(model.settings.color.available);
assertEquals(
capabilityAndValue.expectedValue,
model.settings.color.unavailableValue);
/** @type {boolean} */ (model.settings.color.unavailableValue));
});
// Each of these settings should make the setting available, with the
......@@ -227,7 +233,7 @@ suite('ModelSettingsAvailabilityTest', function() {
delete capabilities.printer.color;
model.set('destination.capabilities', capabilities);
assertFalse(model.settings.color.available);
assertTrue(model.settings.color.unavailableValue);
assertTrue(/** @type {boolean} */ (model.settings.color.unavailableValue));
assertFalse(model.settings.color.setFromUi);
});
......
......@@ -4,15 +4,21 @@
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 {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() {
let model = null;
/** @type {!PrintPreviewModelElement} */
let model;
/** @override */
setup(function() {
PolymerTest.clearBody();
model = document.createElement('print-preview-model');
document.body.innerHTML = '';
model = /** @type {!PrintPreviewModelElement} */ (
document.createElement('print-preview-model'));
document.body.appendChild(model);
model.documentSettings = {
......@@ -22,6 +28,8 @@ suite('ModelSettingsPolicyTest', function() {
isScalingDisabled: false,
fitToPageScaling: 100,
pageCount: 3,
isPdf: false,
isFromArc: false,
title: 'title',
};
......
......@@ -2,14 +2,20 @@
// Use of this source code is governed by a BSD-style license that can be
// 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 {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 {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 = {};
const model_test = window.model_test;
model_test.suiteName = 'ModelTest';
/** @enum {string} */
model_test.TestNames = {
......@@ -22,12 +28,14 @@ model_test.TestNames = {
};
suite(model_test.suiteName, function() {
let model = null;
/** @type {!PrintPreviewModelElement} */
let model;
/** @override */
setup(function() {
PolymerTest.clearBody();
model = document.createElement('print-preview-model');
document.body.innerHTML = '';
model = /** @type {!PrintPreviewModelElement} */ (
document.createElement('print-preview-model'));
document.body.appendChild(model);
});
......@@ -158,7 +166,7 @@ suite(model_test.suiteName, function() {
*/
test(assert(model_test.TestNames.SetPolicySettings), function() {
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.
model.setPolicySettings({headerFooter: {defaultMode: true}});
......@@ -167,18 +175,18 @@ suite(model_test.suiteName, function() {
headerFooter: false,
}));
model.applyStickySettings();
assertTrue(model.settings.headerFooter.value);
assertTrue(/** @type {boolean} */ (model.settings.headerFooter.value));
model.setSetting('headerFooter', false);
assertFalse(model.settings.headerFooter.value);
assertFalse(/** @type {boolean} */ (model.settings.headerFooter.value));
model.setPolicySettings({headerFooter: {allowedMode: true}});
model.applyStickySettings();
assertTrue(model.settings.headerFooter.value);
assertTrue(/** @type {boolean} */ (model.settings.headerFooter.value));
model.setSetting('headerFooter', false);
// The value didn't change after setSetting(), because the policy takes
// priority.
assertTrue(model.settings.headerFooter.value);
assertTrue(/** @type {boolean} */ (model.settings.headerFooter.value));
});
/** @param {!Destination} testDestination */
......@@ -236,6 +244,7 @@ suite(model_test.suiteName, function() {
isScalingDisabled: false,
fitToPageScaling: 100,
pageCount: 3,
isFromArc: false,
title: 'title',
};
model.pageSize = new Size(612, 792);
......@@ -263,7 +272,7 @@ suite(model_test.suiteName, function() {
'FooDevice', DestinationType.LOCAL, origin, 'FooName',
DestinationConnectionStatus.ONLINE);
testDestination.capabilities =
getCddTemplateWithAdvancedSettings(2).capabilities;
getCddTemplateWithAdvancedSettings(2, 'FooDevice').capabilities;
if (isChromeOS) {
// Make device managed. It's used for testing pin setting behavior.
......@@ -307,7 +316,7 @@ suite(model_test.suiteName, function() {
paperType: 0,
};
}
expectEquals(JSON.stringify(expectedDefaultTicketObject), defaultTicket);
assertEquals(JSON.stringify(expectedDefaultTicketObject), defaultTicket);
// Toggle all the values and create a new print ticket.
toggleSettings(testDestination);
......@@ -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() {
'FooCloudDevice', DestinationType.GOOGLE, DestinationOrigin.COOKIES,
'FooCloudName', DestinationConnectionStatus.ONLINE);
testDestination.capabilities =
getCddTemplateWithAdvancedSettings(2).capabilities;
getCddTemplateWithAdvancedSettings(2, 'FooDevice').capabilities;
model.destination = testDestination;
const defaultTicket = model.createCloudJobTicket(testDestination);
......@@ -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.
toggleSettings(testDestination);
......@@ -425,7 +434,7 @@ suite(model_test.suiteName, function() {
],
},
});
expectEquals(expectedNewTicket, newTicket);
assertEquals(expectedNewTicket, newTicket);
});
test(assert(model_test.TestNames.ChangeDestination), function() {
......@@ -433,7 +442,7 @@ suite(model_test.suiteName, function() {
'FooDevice', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'FooName',
DestinationConnectionStatus.ONLINE);
testDestination.capabilities =
getCddTemplateWithAdvancedSettings(2).capabilities;
getCddTemplateWithAdvancedSettings(2, 'FooDevice').capabilities;
// Make black and white printing the default.
testDestination.capabilities.printer.color = {
option: [
......@@ -446,7 +455,7 @@ suite(model_test.suiteName, function() {
'BarDevice', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'BarName',
DestinationConnectionStatus.ONLINE);
testDestination2.capabilities =
Object.assign({}, testDestination.capabilities);
/** @type {!Cdd} */ (Object.assign({}, testDestination.capabilities));
// Initialize
initializeModel();
......@@ -486,7 +495,7 @@ suite(model_test.suiteName, function() {
'Device1', DestinationType.LOCAL, DestinationOrigin.LOCAL, 'One',
DestinationConnectionStatus.ONLINE);
testDestination3.capabilities =
Object.assign({}, testDestination.capabilities);
/** @type {!Cdd} */ (Object.assign({}, testDestination.capabilities));
testDestination3.capabilities.printer.media_size = {
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