Home | History | Annotate | Download | only in automation
      1 // Copyright (c) 2009 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.
      4 
      5 #include "chrome/browser/automation/chrome_frame_automation_provider.h"
      6 #include "chrome/test/testing_browser_process.h"
      7 #include "chrome/test/testing_browser_process_test.h"
      8 #include "content/browser/browser_thread.h"
      9 #include "testing/gmock/include/gmock/gmock.h"
     10 #include "testing/gtest/include/gtest/gtest.h"
     11 
     12 class MockChromeFrameAutomationProvider
     13     : public ChromeFrameAutomationProvider {
     14  public:
     15   explicit MockChromeFrameAutomationProvider(Profile* profile)
     16       : ChromeFrameAutomationProvider(profile) {}
     17 
     18   virtual ~MockChromeFrameAutomationProvider() {}
     19 
     20   MOCK_METHOD1(OnUnhandledMessage,
     21                void (const IPC::Message& message));  // NOLINT
     22 };
     23 
     24 typedef TestingBrowserProcessTest AutomationProviderTest;
     25 
     26 TEST_F(AutomationProviderTest, TestInvalidChromeFrameMessage) {
     27   MessageLoop message_loop;
     28   BrowserThread ui_thread(BrowserThread::UI, &message_loop);
     29 
     30   IPC::Message bad_msg(1, -1, IPC::Message::PRIORITY_NORMAL);
     31 
     32   scoped_refptr<MockChromeFrameAutomationProvider>
     33       mock(new MockChromeFrameAutomationProvider(NULL));
     34 
     35   EXPECT_CALL(*mock, OnUnhandledMessage(testing::Property(&IPC::Message::type,
     36                                         -1))).Times(1);
     37   mock->OnMessageReceived(bad_msg);
     38 }
     39 
     40