Commit 37722f2f authored by Joel Klinghed's avatar Joel Klinghed Committed by Commit Bot

Include unittest for basic printing in chrome/test

Existing print_job_unittest doesn't need print_preview and add
a trivial unittest for PrintViewManagerBasic to exercise the code.

Bug: 993255
Change-Id: I2897c4cf9e46fbfc893a5868a544c5757efd6295
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1757022Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Commit-Queue: Joel Klinghed <the_jk@opera.com>
Cr-Commit-Position: refs/heads/master@{#688613}
parent 2b91ba73
......@@ -66,6 +66,10 @@ class PrintViewManagerBase : public content::NotificationObserver,
base::string16 RenderSourceName();
content::RenderFrameHost* GetPrintingRFHForTesting() const {
return printing_rfh_;
}
protected:
explicit PrintViewManagerBase(content::WebContents* web_contents);
......
// Copyright 2019 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.
#include "chrome/browser/printing/print_view_manager_basic.h"
#include "chrome/browser/printing/printing_init.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
namespace printing {
class PrintViewManagerBasicTest : public ChromeRenderViewHostTestHarness {
protected:
void SetUp() override {
ChromeRenderViewHostTestHarness::SetUp();
InitializePrinting(web_contents());
content::RenderFrameHostTester::For(main_rfh())
->InitializeRenderFrameIfNeeded();
}
};
TEST_F(PrintViewManagerBasicTest, PrintSubFrameAndDestroy) {
auto* sub_frame =
content::RenderFrameHostTester::For(main_rfh())->AppendChild("child");
ASSERT_TRUE(sub_frame);
auto* print_view_manager =
PrintViewManagerBasic::FromWebContents(web_contents());
ASSERT_TRUE(print_view_manager);
EXPECT_FALSE(print_view_manager->GetPrintingRFHForTesting());
print_view_manager->PrintNow(sub_frame);
EXPECT_TRUE(print_view_manager->GetPrintingRFHForTesting());
content::RenderFrameHostTester::For(sub_frame)->Detach();
EXPECT_FALSE(print_view_manager->GetPrintingRFHForTesting());
}
} // namespace printing
......@@ -4632,54 +4632,62 @@ test("unit_tests") {
]
}
if (enable_print_preview) {
if (enable_basic_printing) {
sources += [
"../browser/printing/print_job_unittest.cc",
"../browser/printing/print_preview_dialog_controller_unittest.cc",
"../browser/printing/print_preview_test.cc",
"../browser/printing/print_preview_test.h",
"../browser/printing/print_test_utils.cc",
"../browser/printing/print_test_utils.h",
"../browser/printing/print_view_manager_unittest.cc",
"../browser/printing/test_print_job.cc",
"../browser/printing/test_print_job.h",
"../browser/printing/test_printer_query.cc",
"../browser/printing/test_printer_query.h",
"../browser/ui/webui/print_preview/extension_printer_handler_unittest.cc",
"../browser/ui/webui/print_preview/pdf_printer_handler_unittest.cc",
"../browser/ui/webui/print_preview/pdf_printer_handler_win_unittest.cc",
"../browser/ui/webui/print_preview/print_preview_handler_unittest.cc",
"../browser/ui/webui/print_preview/print_preview_ui_unittest.cc",
"../browser/ui/webui/print_preview/print_preview_utils_unittest.cc",
]
deps += [
"//ipc",
"//printing",
"//printing:test_support",
]
if (!is_chromeos) {
if (enable_print_preview) {
sources += [
"../browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc",
"../common/cloud_print/cloud_print_helpers_unittest.cc",
"../common/service_process_util_mac_unittest.mm",
"../common/service_process_util_unittest.cc",
"../service/cloud_print/cloud_print_service_helpers_unittest.cc",
"../service/cloud_print/cloud_print_token_store_unittest.cc",
"../service/cloud_print/cloud_print_url_fetcher_unittest.cc",
"../service/cloud_print/connector_settings_unittest.cc",
"../service/cloud_print/printer_job_handler_unittest.cc",
"../service/cloud_print/printer_job_queue_handler_unittest.cc",
"../service/net/in_process_network_connection_tracker_unittest.cc",
"../service/service_ipc_server_unittest.cc",
"../service/service_process_prefs_unittest.cc",
"../browser/printing/print_preview_dialog_controller_unittest.cc",
"../browser/printing/print_preview_test.cc",
"../browser/printing/print_preview_test.h",
"../browser/printing/print_test_utils.cc",
"../browser/printing/print_test_utils.h",
"../browser/printing/print_view_manager_unittest.cc",
"../browser/printing/test_print_job.cc",
"../browser/printing/test_print_job.h",
"../browser/printing/test_printer_query.cc",
"../browser/printing/test_printer_query.h",
"../browser/ui/webui/print_preview/extension_printer_handler_unittest.cc",
"../browser/ui/webui/print_preview/pdf_printer_handler_unittest.cc",
"../browser/ui/webui/print_preview/pdf_printer_handler_win_unittest.cc",
"../browser/ui/webui/print_preview/print_preview_handler_unittest.cc",
"../browser/ui/webui/print_preview/print_preview_ui_unittest.cc",
"../browser/ui/webui/print_preview/print_preview_utils_unittest.cc",
]
deps += [ "//ipc" ]
if (!is_chromeos) {
sources += [
"../browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc",
"../common/cloud_print/cloud_print_helpers_unittest.cc",
"../common/service_process_util_mac_unittest.mm",
"../common/service_process_util_unittest.cc",
"../service/cloud_print/cloud_print_service_helpers_unittest.cc",
"../service/cloud_print/cloud_print_token_store_unittest.cc",
"../service/cloud_print/cloud_print_url_fetcher_unittest.cc",
"../service/cloud_print/connector_settings_unittest.cc",
"../service/cloud_print/printer_job_handler_unittest.cc",
"../service/cloud_print/printer_job_queue_handler_unittest.cc",
"../service/net/in_process_network_connection_tracker_unittest.cc",
"../service/service_ipc_server_unittest.cc",
"../service/service_process_prefs_unittest.cc",
]
} else {
sources += [
"../browser/ui/webui/print_preview/local_printer_handler_chromeos_unittest.cc",
"../browser/ui/webui/settings/chromeos/cups_printers_handler_unittest.cc",
]
}
} else {
sources += [
"../browser/ui/webui/print_preview/local_printer_handler_chromeos_unittest.cc",
"../browser/ui/webui/settings/chromeos/cups_printers_handler_unittest.cc",
]
sources += [ "../browser/printing/print_view_manager_basic_unittest.cc" ]
}
}
......
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