Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Side by Side Diff: chrome/browser/spellchecker/spellcheck_message_filter_mac_browsertest.cc

Issue 14113053: chrome: Use base::MessageLoop. (Part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase again Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_vector.h" 6 #include "base/memory/scoped_vector.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/spellchecker/spellcheck_message_filter_mac.h" 10 #include "chrome/browser/spellchecker/spellcheck_message_filter_mac.h"
11 #include "chrome/common/spellcheck_messages.h" 11 #include "chrome/common/spellcheck_messages.h"
12 #include "chrome/common/spellcheck_result.h" 12 #include "chrome/common/spellcheck_result.h"
13 #include "chrome/test/base/in_process_browser_test.h" 13 #include "chrome/test/base/in_process_browser_test.h"
14 #include "chrome/test/base/ui_test_utils.h" 14 #include "chrome/test/base/ui_test_utils.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 // Fake filter for testing, which stores sent messages and 17 // Fake filter for testing, which stores sent messages and
18 // allows verification by the test case. 18 // allows verification by the test case.
19 class TestingSpellCheckMessageFilter : public SpellCheckMessageFilterMac { 19 class TestingSpellCheckMessageFilter : public SpellCheckMessageFilterMac {
20 public: 20 public:
21 explicit TestingSpellCheckMessageFilter(MessageLoopForUI* loop) 21 explicit TestingSpellCheckMessageFilter(base::MessageLoopForUI* loop)
22 : SpellCheckMessageFilterMac(0), 22 : SpellCheckMessageFilterMac(0),
23 loop_(loop) { } 23 loop_(loop) { }
24 24
25 virtual bool Send(IPC::Message* message) OVERRIDE { 25 virtual bool Send(IPC::Message* message) OVERRIDE {
26 sent_messages_.push_back(message); 26 sent_messages_.push_back(message);
27 loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); 27 loop_->PostTask(FROM_HERE, base::MessageLoop::QuitClosure());
28 return true; 28 return true;
29 } 29 }
30 30
31 ScopedVector<IPC::Message> sent_messages_; 31 ScopedVector<IPC::Message> sent_messages_;
32 MessageLoopForUI* loop_; 32 base::MessageLoopForUI* loop_;
33 33
34 private: 34 private:
35 virtual ~TestingSpellCheckMessageFilter() {} 35 virtual ~TestingSpellCheckMessageFilter() {}
36 }; 36 };
37 37
38 typedef InProcessBrowserTest SpellCheckMessageFilterMacBrowserTest; 38 typedef InProcessBrowserTest SpellCheckMessageFilterMacBrowserTest;
39 39
40 // Uses browsertest to setup chrome threads. 40 // Uses browsertest to setup chrome threads.
41 IN_PROC_BROWSER_TEST_F(SpellCheckMessageFilterMacBrowserTest, 41 IN_PROC_BROWSER_TEST_F(SpellCheckMessageFilterMacBrowserTest,
42 SpellCheckReturnMessage) { 42 SpellCheckReturnMessage) {
43 scoped_refptr<TestingSpellCheckMessageFilter> target( 43 scoped_refptr<TestingSpellCheckMessageFilter> target(
44 new TestingSpellCheckMessageFilter(MessageLoopForUI::current())); 44 new TestingSpellCheckMessageFilter(base::MessageLoopForUI::current()));
45 45
46 SpellCheckHostMsg_RequestTextCheck to_be_received( 46 SpellCheckHostMsg_RequestTextCheck to_be_received(
47 123, 456, UTF8ToUTF16("zz.")); 47 123, 456, UTF8ToUTF16("zz."));
48 bool handled = false; 48 bool handled = false;
49 target->OnMessageReceived(to_be_received, &handled); 49 target->OnMessageReceived(to_be_received, &handled);
50 EXPECT_TRUE(handled); 50 EXPECT_TRUE(handled);
51 51
52 MessageLoopForUI::current()->Run(); 52 base::MessageLoopForUI::current()->Run();
53 EXPECT_EQ(1U, target->sent_messages_.size()); 53 EXPECT_EQ(1U, target->sent_messages_.size());
54 54
55 int sent_identifier; 55 int sent_identifier;
56 std::vector<SpellCheckResult> sent_results; 56 std::vector<SpellCheckResult> sent_results;
57 bool ok = SpellCheckMsg_RespondTextCheck::Read( 57 bool ok = SpellCheckMsg_RespondTextCheck::Read(
58 target->sent_messages_[0], &sent_identifier, &sent_results); 58 target->sent_messages_[0], &sent_identifier, &sent_results);
59 EXPECT_TRUE(ok); 59 EXPECT_TRUE(ok);
60 EXPECT_EQ(1U, sent_results.size()); 60 EXPECT_EQ(1U, sent_results.size());
61 EXPECT_EQ(sent_results[0].location, 0); 61 EXPECT_EQ(sent_results[0].location, 0);
62 EXPECT_EQ(sent_results[0].length, 2); 62 EXPECT_EQ(sent_results[0].length, 2);
63 EXPECT_EQ(sent_results[0].type, 63 EXPECT_EQ(sent_results[0].type,
64 SpellCheckResult::SPELLING); 64 SpellCheckResult::SPELLING);
65 } 65 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698