Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6178)

Unified Diff: chrome/test/data/webui/print_preview/native_layer_stub.js

Issue 2893003003: Print Preview: Merge NativeLayerStubs for tests (Closed)
Patch Set: Remove extra variable Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/webui/print_preview.js ('k') | chrome/test/data/webui/print_preview/print_preview.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/print_preview/native_layer_stub.js
diff --git a/chrome/test/data/webui/print_preview/native_layer_stub.js b/chrome/test/data/webui/print_preview/native_layer_stub.js
new file mode 100644
index 0000000000000000000000000000000000000000..d16b11b77a1f6e7b13cb4ca1f9de3ce1b39114c5
--- /dev/null
+++ b/chrome/test/data/webui/print_preview/native_layer_stub.js
@@ -0,0 +1,148 @@
+// 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.
+
+cr.define('print_preview', function() {
+ /**
+ * Test version of the native layer.
+ * @constructor
+ * @extends {settings.TestBrowserProxy}
Dan Beam 2017/06/06 22:00:46 can we remove the settings. from TestBrowserProxy
dpapad 2017/06/06 22:04:25 Sure, I'll move it one level up and update clients
dpapad 2017/06/06 22:35:24 See https://codereview.chromium.org/2927653002.
+ */
+ function NativeLayerStub() {
+ settings.TestBrowserProxy.call(this, [
+ 'getInitialSettings', 'setupPrinter' ]);
+
+ /**
+ * @private {!cr.EventTarget} The event target used for dispatching and
+ * receiving events.
+ */
+ this.eventTarget_ = new cr.EventTarget();
+
+ /** @private {boolean} Whether the native layer has sent a print message. */
+ this.printStarted_ = false;
+
+ /**
+ * @private {boolean} Whether the native layer has set the generate draft
+ * parameter when requesting an updated preview.
+ */
+ this.generateDraft_ = false;
+
+ /**
+ * @private {!print_preview.NativeInitialSettings} The initial settings
+ * to be used for the response to a |getInitialSettings| call.
+ */
+ this.initialSettings_ = null;
+
+ /**
+ * @private {!print_preview.PrinterSetupResponse} The response to be sent
+ * on a |setupPrinter| call.
+ */
+ this.setupPrinterResponse_ = null;
+
+ /**
+ * @private {boolean} Whether the printer setup request should be rejected.
+ */
+ this.shouldRejectPrinterSetup_ = false;
+
+ /**
+ * @private {string} The destination id to watch for counting calls to
+ * |getLocalDestinationCapabilities|.
+ */
+ this.destinationToWatch_ = '';
+
+ /**
+ * @private {number} The number of calls to
+ * |getLocalDestinationCapabilities| with id = |destinationToWatch_|.
+ */
+ this.getLocalDestinationCapabilitiesCallCount_ = 0;
+ }
+
+ NativeLayerStub.prototype = {
+ __proto__: settings.TestBrowserProxy.prototype,
+
+ /** @override */
+ getInitialSettings: function() {
+ this.methodCalled('getInitialSettings');
+ return Promise.resolve(this.initialSettings_);
+ },
+
+ /** @override */
+ setupPrinter: function(printerId) {
+ this.methodCalled('setupPrinter', printerId);
+ return this.shouldRejectPrinterSetup_ ?
+ Promise.reject(this.setupPrinterResponse_) :
+ Promise.resolve(this.setupPrinterResponse_);
+ },
+
+ /** Stubs for |print_preview.NativeLayer| methods that call C++ handlers. */
+ previewReadyForTest: function() {},
+ startGetLocalDestinations: function() {},
+ startGetPrivetDestinations: function() {},
+ startGetExtensionDestinations: function() {},
+ startGetLocalDestinationCapabilities: function(destinationId) {
+ if (destinationId == this.destinationToWatch_)
+ this.getLocalDestinationCapabilitiesCallCount_++;
+ },
+ startGetPreview: function(destination, printTicketStore, documentInfo,
+ generateDraft, requestId) {
+ this.generateDraft_ = generateDraft;
+ },
+ startPrint: function () { this.printStarted_ = true; },
+ startHideDialog: function () {},
+
+ /** @return {!cr.EventTarget} The native layer event target. */
+ getEventTarget: function() { return this.eventTarget_; },
+
+ /** @param {!cr.EventTarget} eventTarget The event target to use. */
+ setEventTarget: function(eventTarget) {
+ this.eventTarget_ = eventTarget;
+ },
+
+ /**
+ * @return {boolean} Whether capabilities have been requested exactly once
+ * for |destinationToWatch_|.
+ */
+ didGetCapabilitiesOnce: function(destinationId) {
+ return (destinationId == this.destinationToWatch_ &&
+ this.getLocalDestinationCapabilitiesCallCount_ == 1);
+ },
+
+ /** @return {boolean} Whether a new draft was requested for preview. */
+ generateDraft: function() { return this.generateDraft_; },
+
+ /** @return {boolean} Whether a print request has been issued. */
+ isPrintStarted: function() { return this.printStarted_; },
+
+ /**
+ * @param {string} destinationId The destination ID to watch for
+ * |getLocalDestinationCapabilities| calls.
+ * Resets |getLocalDestinationCapabilitiesCallCount_|.
+ */
+ setDestinationToWatch: function(destinationId) {
+ this.destinationToWatch_ = destinationId;
+ this.getLocalDestinationCapabilitiesCallCount_ = 0;
+ },
+
+ /**
+ * @param {!print_preview.NativeInitialSettings} settings The settings
+ * to return as a response to |getInitialSettings|.
+ */
+ setInitialSettings: function(settings) {
+ this.initialSettings_ = settings;
+ },
+
+ /**
+ * @param {boolean} reject Whether printSetup requests should be rejected.
+ * @param {!print_preview.PrinterSetupResponse} The response to send when
+ * |setupPrinter| is called.
+ */
+ setSetupPrinterResponse: function(reject, response) {
+ this.shouldRejectPrinterSetup_ = reject;
+ this.setupPrinterResponse_ = response;
+ },
+ };
+
+ return {
+ NativeLayerStub: NativeLayerStub,
+ };
+});
« no previous file with comments | « chrome/test/data/webui/print_preview.js ('k') | chrome/test/data/webui/print_preview/print_preview.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698