1 // Copyright (c) 2012 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.
5 #include "chrome/renderer/spellchecker/spellcheck_provider_test.h"
7 #include "base/stl_util.h"
8 #include "chrome/common/spellcheck_marker.h"
9 #include "chrome/common/spellcheck_messages.h"
10 #include "chrome/renderer/spellchecker/spellcheck.h"
11 #include "ipc/ipc_message_macros.h"
13 class MockSpellcheck: public SpellCheck {
16 FakeTextCheckingCompletion::FakeTextCheckingCompletion()
17 : completion_count_(0),
18 cancellation_count_(0) {
21 FakeTextCheckingCompletion::~FakeTextCheckingCompletion() {}
23 void FakeTextCheckingCompletion::didFinishCheckingText(
24 const WebKit::WebVector<WebKit::WebTextCheckingResult>& results) {
28 void FakeTextCheckingCompletion::didCancelCheckingText() {
30 ++cancellation_count_;
33 TestingSpellCheckProvider::TestingSpellCheckProvider()
34 : SpellCheckProvider(NULL, new MockSpellcheck),
35 spelling_service_call_count_(0) {
38 TestingSpellCheckProvider::~TestingSpellCheckProvider() {
42 bool TestingSpellCheckProvider::Send(IPC::Message* message) {
43 // Call our mock message handlers.
45 IPC_BEGIN_MESSAGE_MAP(TestingSpellCheckProvider, *message)
46 #if !defined(OS_MACOSX)
47 IPC_MESSAGE_HANDLER(SpellCheckHostMsg_CallSpellingService,
48 OnCallSpellingService)
50 IPC_MESSAGE_UNHANDLED(handled = false)
58 messages_.push_back(message);
62 void TestingSpellCheckProvider::OnCallSpellingService(int route_id,
65 const std::vector<SpellCheckMarker>& markers) {
66 #if defined (OS_MACOSX)
69 ++spelling_service_call_count_;
70 WebKit::WebTextCheckingCompletion* completion =
71 text_check_completions_.Lookup(identifier);
77 text_check_completions_.Remove(identifier);
78 std::vector<WebKit::WebTextCheckingResult> results;
79 results.push_back(WebKit::WebTextCheckingResult(
80 WebKit::WebTextDecorationTypeSpelling,
81 0, 5, WebKit::WebString("hello")));
82 completion->didFinishCheckingText(results);
84 last_results_ = results;
88 void TestingSpellCheckProvider::ResetResult() {
92 SpellCheckProviderTest::SpellCheckProviderTest() {}
93 SpellCheckProviderTest::~SpellCheckProviderTest() {}