blob: 2380f4601701420575a2f2c43d3fd51cf997d2d2 [file] [log] [blame]
// Copyright 2013 The Flutter 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 "flutter/shell/platform/windows/settings_plugin.h"
#include "flutter/shell/platform/windows/task_runner.h"
#include "flutter/shell/platform/windows/testing/test_binary_messenger.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
namespace flutter {
namespace testing {
namespace {
class MockSettingsPlugin : public SettingsPlugin {
public:
explicit MockSettingsPlugin(BinaryMessenger* messenger,
TaskRunner* task_runner)
: SettingsPlugin(messenger, task_runner) {}
virtual ~MockSettingsPlugin() = default;
// |SettingsPlugin|
MOCK_METHOD0(GetAlwaysUse24HourFormat, bool());
MOCK_METHOD0(GetTextScaleFactor, float());
MOCK_METHOD0(GetPreferredBrightness, PlatformBrightness());
MOCK_METHOD0(WatchPreferredBrightnessChanged, void());
MOCK_METHOD0(WatchTextScaleFactorChanged, void());
};
} // namespace
TEST(SettingsPluginTest, SendSettingsSendsMessage) {
bool message_is_sent = false;
TestBinaryMessenger messenger(
[&message_is_sent](const std::string& channel, const uint8_t* message,
size_t message_size,
BinaryReply reply) { message_is_sent = true; });
::testing::NiceMock<MockSettingsPlugin> settings_plugin(&messenger, nullptr);
settings_plugin.SendSettings();
EXPECT_TRUE(message_is_sent);
}
TEST(SettingsPluginTest, SendSettingsGetsSettings) {
TestBinaryMessenger messenger([](const std::string& channel,
const uint8_t* message, size_t message_size,
BinaryReply reply) {});
::testing::NiceMock<MockSettingsPlugin> settings_plugin(&messenger, nullptr);
EXPECT_CALL(settings_plugin, GetAlwaysUse24HourFormat).Times(1);
EXPECT_CALL(settings_plugin, GetTextScaleFactor).Times(1);
EXPECT_CALL(settings_plugin, GetPreferredBrightness).Times(1);
settings_plugin.SendSettings();
}
TEST(SettingsPluginTest, StartWatchingStartsWatchingChanges) {
TestBinaryMessenger messenger([](const std::string& channel,
const uint8_t* message, size_t message_size,
BinaryReply reply) {});
::testing::NiceMock<MockSettingsPlugin> settings_plugin(&messenger, nullptr);
EXPECT_CALL(settings_plugin, WatchPreferredBrightnessChanged).Times(1);
EXPECT_CALL(settings_plugin, WatchTextScaleFactorChanged).Times(1);
settings_plugin.StartWatching();
}
} // namespace testing
} // namespace flutter