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

Side by Side Diff: sync/js/js_test_util.h

Issue 231013003: Remove Sync JS generic request/reply framework (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove js_reply_handler.h from gyp Created 6 years, 8 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
« no previous file with comments | « sync/js/js_reply_handler.h ('k') | sync/js/js_test_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef SYNC_JS_JS_TEST_UTIL_H_ 5 #ifndef SYNC_JS_JS_TEST_UTIL_H_
6 #define SYNC_JS_JS_TEST_UTIL_H_ 6 #define SYNC_JS_JS_TEST_UTIL_H_
7 7
8 #include <ostream> 8 #include <ostream>
9 #include <string> 9 #include <string>
10 10
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "sync/internal_api/public/util/weak_handle.h" 12 #include "sync/internal_api/public/util/weak_handle.h"
13 #include "sync/js/js_backend.h" 13 #include "sync/js/js_backend.h"
14 #include "sync/js/js_controller.h" 14 #include "sync/js/js_controller.h"
15 #include "sync/js/js_event_handler.h" 15 #include "sync/js/js_event_handler.h"
16 #include "sync/js/js_reply_handler.h"
17 #include "testing/gmock/include/gmock/gmock.h" 16 #include "testing/gmock/include/gmock/gmock.h"
18 17
19 namespace base { 18 namespace base {
20 class DictionaryValue; 19 class DictionaryValue;
21 class ListValue; 20 class ListValue;
22 } 21 }
23 22
24 namespace syncer { 23 namespace syncer {
25 24
26 class JsArgList;
27 class JsEventDetails; 25 class JsEventDetails;
28 26
29 // Defined for googletest. Equivalent to "*os << args.ToString()". 27 // Defined for googletest. Equivalent to "*os << args.ToString()".
30 void PrintTo(const JsArgList& args, ::std::ostream* os);
31 void PrintTo(const JsEventDetails& details, ::std::ostream* os); 28 void PrintTo(const JsEventDetails& details, ::std::ostream* os);
32 29
33 // A gmock matcher for JsArgList. Use like:
34 //
35 // EXPECT_CALL(mock, HandleJsReply("foo", HasArgs(expected_args)));
36 ::testing::Matcher<const JsArgList&> HasArgs(const JsArgList& expected_args);
37
38 // A gmock matcher for JsEventDetails. Use like: 30 // A gmock matcher for JsEventDetails. Use like:
39 // 31 //
40 // EXPECT_CALL(mock, HandleJsEvent("foo", HasArgs(expected_details))); 32 // EXPECT_CALL(mock, HandleJsEvent("foo", HasArgs(expected_details)));
41 ::testing::Matcher<const JsEventDetails&> HasDetails( 33 ::testing::Matcher<const JsEventDetails&> HasDetails(
42 const JsEventDetails& expected_details); 34 const JsEventDetails& expected_details);
43 35
44 // Like HasDetails() but takes a DictionaryValue instead. 36 // Like HasDetails() but takes a DictionaryValue instead.
45 ::testing::Matcher<const JsEventDetails&> HasDetailsAsDictionary( 37 ::testing::Matcher<const JsEventDetails&> HasDetailsAsDictionary(
46 const base::DictionaryValue& expected_details); 38 const base::DictionaryValue& expected_details);
47 39
48 // Mocks. 40 // Mocks.
49 41
50 class MockJsBackend : public JsBackend, 42 class MockJsBackend : public JsBackend,
51 public base::SupportsWeakPtr<MockJsBackend> { 43 public base::SupportsWeakPtr<MockJsBackend> {
52 public: 44 public:
53 MockJsBackend(); 45 MockJsBackend();
54 virtual ~MockJsBackend(); 46 virtual ~MockJsBackend();
55 47
56 WeakHandle<JsBackend> AsWeakHandle(); 48 WeakHandle<JsBackend> AsWeakHandle();
57 49
58 MOCK_METHOD1(SetJsEventHandler, void(const WeakHandle<JsEventHandler>&)); 50 MOCK_METHOD1(SetJsEventHandler, void(const WeakHandle<JsEventHandler>&));
59 MOCK_METHOD3(ProcessJsMessage, void(const ::std::string&, const JsArgList&,
60 const WeakHandle<JsReplyHandler>&));
61 }; 51 };
62 52
63 class MockJsController : public JsController, 53 class MockJsController : public JsController,
64 public base::SupportsWeakPtr<MockJsController> { 54 public base::SupportsWeakPtr<MockJsController> {
65 public: 55 public:
66 MockJsController(); 56 MockJsController();
67 virtual ~MockJsController(); 57 virtual ~MockJsController();
68 58
69 MOCK_METHOD1(AddJsEventHandler, void(JsEventHandler*)); 59 MOCK_METHOD1(AddJsEventHandler, void(JsEventHandler*));
70 MOCK_METHOD1(RemoveJsEventHandler, void(JsEventHandler*)); 60 MOCK_METHOD1(RemoveJsEventHandler, void(JsEventHandler*));
71 MOCK_METHOD3(ProcessJsMessage,
72 void(const ::std::string&, const JsArgList&,
73 const WeakHandle<JsReplyHandler>&));
74 }; 61 };
75 62
76 class MockJsEventHandler 63 class MockJsEventHandler
77 : public JsEventHandler, 64 : public JsEventHandler,
78 public base::SupportsWeakPtr<MockJsEventHandler> { 65 public base::SupportsWeakPtr<MockJsEventHandler> {
79 public: 66 public:
80 MockJsEventHandler(); 67 MockJsEventHandler();
81 virtual ~MockJsEventHandler(); 68 virtual ~MockJsEventHandler();
82 69
83 WeakHandle<JsEventHandler> AsWeakHandle(); 70 WeakHandle<JsEventHandler> AsWeakHandle();
84 71
85 MOCK_METHOD2(HandleJsEvent, 72 MOCK_METHOD2(HandleJsEvent,
86 void(const ::std::string&, const JsEventDetails&)); 73 void(const ::std::string&, const JsEventDetails&));
87 }; 74 };
88 75
89 class MockJsReplyHandler
90 : public JsReplyHandler,
91 public base::SupportsWeakPtr<MockJsReplyHandler> {
92 public:
93 MockJsReplyHandler();
94 virtual ~MockJsReplyHandler();
95
96 WeakHandle<JsReplyHandler> AsWeakHandle();
97
98 MOCK_METHOD2(HandleJsReply,
99 void(const ::std::string&, const JsArgList&));
100 };
101
102 } // namespace syncer 76 } // namespace syncer
103 77
104 #endif // SYNC_JS_JS_TEST_UTIL_H_ 78 #endif // SYNC_JS_JS_TEST_UTIL_H_
OLDNEW
« no previous file with comments | « sync/js/js_reply_handler.h ('k') | sync/js/js_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698