blob: 6c91d1e7c114b25d2bf42a8c85c7234f73a24e1a [file] [log] [blame]
// Copyright 2016 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 "ui/base/mojo/clipboard_client.h"
#include "ui/events/platform/platform_event_source.h"
#include "ui/views/test/views_interactive_ui_test_base.h"
namespace ui {
namespace {
views::ViewsTestBase* g_test_base = nullptr;
// This class is necessary to allow the Mus version of ClipboardTest to
// initialize itself as if it's a ViewsTestBase (which creates the MusClient and
// does other necessary setup). TODO(crbug/917180): improve this.
class ViewsTestBaseNoTest : public views::ViewsInteractiveUITestBase {
public:
ViewsTestBaseNoTest() = default;
~ViewsTestBaseNoTest() override = default;
// views::ViewsInteractiveUITestBase:
void TestBody() override {}
};
} // namespace
struct PlatformClipboardTraits {
static std::unique_ptr<PlatformEventSource> GetEventSource() {
return nullptr;
}
static Clipboard* Create() {
g_test_base = new ViewsTestBaseNoTest();
g_test_base->SetUp();
return Clipboard::GetForCurrentThread();
}
static void Destroy(Clipboard* clipboard) {
g_test_base->TearDown();
g_test_base = nullptr;
}
};
class MusClipboardTestName {
public:
template <typename T>
static std::string GetName(int index) {
return "MusClipboardTest";
}
};
using TypesToTest = PlatformClipboardTraits;
using NamesOfTypesToTest = MusClipboardTestName;
} // namespace ui
#include "ui/base/clipboard/clipboard_test_template.h"