// 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/testing/mock_text_input_manager_win32.h"

namespace flutter {
namespace testing {

MockTextInputManagerWin32::MockTextInputManagerWin32()
    : TextInputManagerWin32(){};

MockTextInputManagerWin32::~MockTextInputManagerWin32() = default;

}  // namespace testing
}  // namespace flutter
