Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / browser / chromeos / dbus / printer_service_provider_unittest.cc
blobebf09e416eee0393d634fd667c892fe56b111ff3
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/chromeos/dbus/printer_service_provider.h"
7 #include "chrome/browser/chromeos/dbus/service_provider_test_helper.h"
8 #include "dbus/message.h"
9 #include "third_party/cros_system_api/dbus/service_constants.h"
11 namespace chromeos {
13 const char kPrinterAdded[] = "PrinterAdded";
15 class MockPrinterServiceProvider : public PrinterServiceProvider {
16 public:
17 MOCK_METHOD2(ShowCloudPrintHelp,
18 void(const std::string& vendor, const std::string& product));
21 class PrinterServiceProviderTest : public testing::Test {
22 public:
23 virtual void SetUp() override {
24 test_helper_.SetUp(kPrinterAdded, &service_provider_);
27 virtual void TearDown() override {
28 test_helper_.TearDown();
31 protected:
32 MockPrinterServiceProvider service_provider_;
33 ServiceProviderTestHelper test_helper_;
36 TEST_F(PrinterServiceProviderTest, ShowCloudPrintHelp) {
37 dbus::MethodCall method_call(kLibCrosServiceInterface, kPrinterAdded);
38 dbus::MessageWriter writer(&method_call);
39 writer.AppendString("123");
40 writer.AppendString("456");
42 EXPECT_CALL(service_provider_, ShowCloudPrintHelp("123", "456"))
43 .Times(1);
45 // Call the PrinterAdded method.
46 scoped_ptr<dbus::Response> response(test_helper_.CallMethod(&method_call));
48 // An empty response should be returned.
49 ASSERT_TRUE(response.get());
50 dbus::MessageReader reader(response.get());
51 ASSERT_FALSE(reader.HasMoreData());
54 } // namespace chromeos