Commit ce47b6b1 authored by Daniel Hosseinian's avatar Daniel Hosseinian Committed by Commit Bot

Simplify PrintPreviewPreviewGeneration scaling tests with a helper

Bug: 989978
Change-Id: I8b943250012cdc6e1a253905aa5dc8e65690ece6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1856920Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706127}
parent de3cfd76
...@@ -24,6 +24,18 @@ cr.define('preview_generation_test', function() { ...@@ -24,6 +24,18 @@ cr.define('preview_generation_test', function() {
'zero default margins clears header/footer', 'zero default margins clears header/footer',
}; };
/**
* @typedef {{
* printTicket: !Object,
* scalingTypeKey: string,
* expectedTicketId: number,
* expectedTicketScaleFactor: number,
* expectedScalingValue: string,
* expectedScalingType: !print_preview.ScalingType,
* }}
*/
let ValidateScalingChangeParams;
const suiteName = 'PreviewGenerationTest'; const suiteName = 'PreviewGenerationTest';
suite(suiteName, function() { suite(suiteName, function() {
/** @type {?PrintPreviewAppElement} */ /** @type {?PrintPreviewAppElement} */
...@@ -115,6 +127,17 @@ cr.define('preview_generation_test', function() { ...@@ -115,6 +127,17 @@ cr.define('preview_generation_test', function() {
}); });
} }
/** @param {ValidateScalingChangeParams} input Test arguments. */
function validateScalingChange(input) {
const ticket = JSON.parse(input.printTicket);
assertEquals(input.expectedTicketId, ticket.requestID);
assertEquals(input.expectedTicketScaleFactor, ticket.scaleFactor);
assertEquals(input.expectedScalingValue, page.getSettingValue('scaling'));
assertEquals(
input.expectedScalingType,
page.getSettingValue(input.scalingTypeKey));
}
/** Validate changing the color updates the preview. */ /** Validate changing the color updates the preview. */
test(assert(TestNames.Color), function() { test(assert(TestNames.Color), function() {
return testSimpleSetting( return testSimpleSetting(
...@@ -339,67 +362,75 @@ cr.define('preview_generation_test', function() { ...@@ -339,67 +362,75 @@ cr.define('preview_generation_test', function() {
test(assert(TestNames.Scaling), function() { test(assert(TestNames.Scaling), function() {
return initialize() return initialize()
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(0, ticket.requestID); printTicket: args.printTicket,
assertEquals(100, ticket.scaleFactor); scalingTypeKey: 'scalingType',
expectedTicketId: 0,
expectedTicketScaleFactor: 100,
expectedScalingValue: '100',
expectedScalingType: print_preview.ScalingType.DEFAULT,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('100', page.getSettingValue('scaling')); // DEFAULT -> CUSTOM
assertEquals(
print_preview.ScalingType.DEFAULT,
page.getSettingValue('scalingType'));
page.setSetting('scalingType', print_preview.ScalingType.CUSTOM); page.setSetting('scalingType', print_preview.ScalingType.CUSTOM);
// Need to set custom value != 100 for preview to regenerate. // Need to set custom value != 100 for preview to regenerate.
page.setSetting('scaling', '90'); page.setSetting('scaling', '90');
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(90, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(1, ticket.requestID); scalingTypeKey: 'scalingType',
expectedTicketId: 1,
expectedTicketScaleFactor: 90,
expectedScalingValue: '90',
expectedScalingType: print_preview.ScalingType.CUSTOM,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('90', page.getSettingValue('scaling')); // CUSTOM -> DEFAULT
assertEquals(
print_preview.ScalingType.CUSTOM,
page.getSettingValue('scalingType'));
// This should regenerate the preview, since the custom value is not // This should regenerate the preview, since the custom value is not
// 100. // 100.
page.setSetting('scalingType', print_preview.ScalingType.DEFAULT); page.setSetting('scalingType', print_preview.ScalingType.DEFAULT);
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(100, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(2, ticket.requestID); scalingTypeKey: 'scalingType',
expectedTicketId: 2,
expectedTicketScaleFactor: 100,
expectedScalingValue: '90',
expectedScalingType: print_preview.ScalingType.DEFAULT,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('90', page.getSettingValue('scaling')); // DEFAULT -> CUSTOM
assertEquals(
print_preview.ScalingType.DEFAULT,
page.getSettingValue('scalingType'));
page.setSetting('scalingType', print_preview.ScalingType.CUSTOM); page.setSetting('scalingType', print_preview.ScalingType.CUSTOM);
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
// Back to custom 90. printTicket: args.printTicket,
assertEquals(90, ticket.scaleFactor); scalingTypeKey: 'scalingType',
assertEquals(3, ticket.requestID); expectedTicketId: 3,
expectedTicketScaleFactor: 90,
expectedScalingValue: '90',
expectedScalingType: print_preview.ScalingType.CUSTOM,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('90', page.getSettingValue('scaling')); // CUSTOM 90 -> CUSTOM 80
assertEquals(
print_preview.ScalingType.CUSTOM,
page.getSettingValue('scalingType'));
// When custom scaling is set, changing scaling updates preview. // When custom scaling is set, changing scaling updates preview.
page.setSetting('scaling', '80'); page.setSetting('scaling', '80');
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(80, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(4, ticket.requestID); scalingTypeKey: 'scalingType',
assertEquals('80', page.getSettingValue('scaling')); expectedTicketId: 4,
assertEquals( expectedTicketScaleFactor: 80,
print_preview.ScalingType.CUSTOM, expectedScalingValue: '80',
page.getSettingValue('scalingType')); expectedScalingType: print_preview.ScalingType.CUSTOM,
});
}); });
}); });
...@@ -410,69 +441,74 @@ cr.define('preview_generation_test', function() { ...@@ -410,69 +441,74 @@ cr.define('preview_generation_test', function() {
initialSettings.previewIsPdf = true; initialSettings.previewIsPdf = true;
return initialize() return initialize()
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(0, ticket.requestID); printTicket: args.printTicket,
assertEquals(100, ticket.scaleFactor); scalingTypeKey: 'scalingTypePdf',
expectedTicketId: 0,
expectedTicketScaleFactor: 100,
expectedScalingValue: '100',
expectedScalingType: print_preview.ScalingType.DEFAULT,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('100', page.getSettingValue('scaling'));
assertEquals(
print_preview.ScalingType.DEFAULT,
page.getSettingValue('scalingTypePdf'));
// DEFAULT -> FIT_TO_PAGE // DEFAULT -> FIT_TO_PAGE
page.setSetting( page.setSetting(
'scalingTypePdf', print_preview.ScalingType.FIT_TO_PAGE); 'scalingTypePdf', print_preview.ScalingType.FIT_TO_PAGE);
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(100, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(1, ticket.requestID); scalingTypeKey: 'scalingTypePdf',
expectedTicketId: 1,
expectedTicketScaleFactor: 100,
expectedScalingValue: '100',
expectedScalingType: print_preview.ScalingType.FIT_TO_PAGE,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('100', page.getSettingValue('scaling'));
assertEquals(
print_preview.ScalingType.FIT_TO_PAGE,
page.getSettingValue('scalingTypePdf'));
// FIT_TO_PAGE -> CUSTOM // FIT_TO_PAGE -> CUSTOM
page.setSetting('scalingTypePdf', print_preview.ScalingType.CUSTOM); page.setSetting('scalingTypePdf', print_preview.ScalingType.CUSTOM);
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(100, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(2, ticket.requestID); scalingTypeKey: 'scalingTypePdf',
expectedTicketId: 2,
expectedTicketScaleFactor: 100,
expectedScalingValue: '100',
expectedScalingType: print_preview.ScalingType.CUSTOM,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('100', page.getSettingValue('scaling'));
assertEquals(
print_preview.ScalingType.CUSTOM,
page.getSettingValue('scalingTypePdf'));
// CUSTOM -> FIT_TO_PAGE // CUSTOM -> FIT_TO_PAGE
page.setSetting( page.setSetting(
'scalingTypePdf', print_preview.ScalingType.FIT_TO_PAGE); 'scalingTypePdf', print_preview.ScalingType.FIT_TO_PAGE);
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(100, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(3, ticket.requestID); scalingTypeKey: 'scalingTypePdf',
expectedTicketId: 3,
expectedTicketScaleFactor: 100,
expectedScalingValue: '100',
expectedScalingType: print_preview.ScalingType.FIT_TO_PAGE,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('100', page.getSettingValue('scaling'));
assertEquals(
print_preview.ScalingType.FIT_TO_PAGE,
page.getSettingValue('scalingTypePdf'));
// FIT_TO_PAGE -> DEFAULT // FIT_TO_PAGE -> DEFAULT
page.setSetting( page.setSetting(
'scalingTypePdf', print_preview.ScalingType.DEFAULT); 'scalingTypePdf', print_preview.ScalingType.DEFAULT);
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(100, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(4, ticket.requestID); scalingTypeKey: 'scalingTypePdf',
expectedTicketId: 4,
expectedTicketScaleFactor: 100,
expectedScalingValue: '100',
expectedScalingType: print_preview.ScalingType.DEFAULT,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('100', page.getSettingValue('scaling'));
assertEquals(
print_preview.ScalingType.DEFAULT,
page.getSettingValue('scalingTypePdf'));
// DEFAULT -> CUSTOM // DEFAULT -> CUSTOM
page.setSetting('scalingTypePdf', print_preview.ScalingType.CUSTOM); page.setSetting('scalingTypePdf', print_preview.ScalingType.CUSTOM);
// Need to set custom value != 100 for preview to regenerate. // Need to set custom value != 100 for preview to regenerate.
...@@ -480,32 +516,32 @@ cr.define('preview_generation_test', function() { ...@@ -480,32 +516,32 @@ cr.define('preview_generation_test', function() {
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket);
assertEquals(120, ticket.scaleFactor);
// DEFAULT -> CUSTOM will result in a scaling change only if the // DEFAULT -> CUSTOM will result in a scaling change only if the
// scale factor changes. Therefore, the requestId should only be one // scale factor changes. Therefore, the requestId should only be one
// more than the last set of scaling changes. // more than the last set of scaling changes.
assertEquals(5, ticket.requestID); validateScalingChange({
printTicket: args.printTicket,
scalingTypeKey: 'scalingTypePdf',
expectedTicketId: 5,
expectedTicketScaleFactor: 120,
expectedScalingValue: '120',
expectedScalingType: print_preview.ScalingType.CUSTOM,
});
nativeLayer.resetResolver('getPreview'); nativeLayer.resetResolver('getPreview');
assertEquals('120', page.getSettingValue('scaling'));
assertEquals(
print_preview.ScalingType.CUSTOM,
page.getSettingValue('scalingTypePdf'));
// CUSTOM -> DEFAULT // CUSTOM -> DEFAULT
page.setSetting( page.setSetting(
'scalingTypePdf', print_preview.ScalingType.DEFAULT); 'scalingTypePdf', print_preview.ScalingType.DEFAULT);
// This should regenerate the preview, since the custom value is not
// 100.
return nativeLayer.whenCalled('getPreview'); return nativeLayer.whenCalled('getPreview');
}) })
.then(function(args) { .then(function(args) {
const ticket = JSON.parse(args.printTicket); validateScalingChange({
assertEquals(100, ticket.scaleFactor); printTicket: args.printTicket,
assertEquals(6, ticket.requestID); scalingTypeKey: 'scalingTypePdf',
assertEquals('120', page.getSettingValue('scaling')); expectedTicketId: 6,
assertEquals( expectedTicketScaleFactor: 100,
print_preview.ScalingType.DEFAULT, expectedScalingValue: '120',
page.getSettingValue('scalingTypePdf')); expectedScalingType: print_preview.ScalingType.DEFAULT,
});
}); });
}); });
......
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