blob: f2b05de179e2f7449eda3775310dc7f6b78f303f [file] [log] [blame]
// Copyright (c) 2011 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.
#ifndef CHROME_TEST_DATA_WEBUI_ASYNC_GEN_H_
#define CHROME_TEST_DATA_WEBUI_ASYNC_GEN_H_
#include "chrome/test/base/web_ui_browser_test.h"
#include "content/public/browser/web_ui_message_handler.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace base {
class ListValue;
} // namespace base
// C++ support class for javascript-generated asynchronous tests.
class WebUIBrowserAsyncGenTest : public WebUIBrowserTest {
public:
WebUIBrowserAsyncGenTest();
~WebUIBrowserAsyncGenTest() override;
protected:
class AsyncWebUIMessageHandler : public content::WebUIMessageHandler {
public:
AsyncWebUIMessageHandler();
~AsyncWebUIMessageHandler();
MOCK_METHOD1(HandleTearDown, void(const base::ListValue*));
private:
void HandleCallJS(const base::ListValue* list_value);
// WebUIMessageHandler implementation.
void RegisterMessages() override;
};
// Handler for this test fixture.
::testing::StrictMock<AsyncWebUIMessageHandler> message_handler_;
private:
// Provide this object's handler.
content::WebUIMessageHandler* GetMockMessageHandler() override {
return &message_handler_;
}
void SetUpOnMainThread() override {
WebUIBrowserTest::SetUpOnMainThread();
EXPECT_CALL(message_handler_, HandleTearDown(::testing::_));
}
DISALLOW_COPY_AND_ASSIGN(WebUIBrowserAsyncGenTest);
};
#endif // CHROME_TEST_DATA_WEBUI_ASYNC_GEN_H_