OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 EXTENSIONS_RENDERER_API_BINDINGS_SYSTEM_UNITTEST_H_ | 5 #ifndef EXTENSIONS_RENDERER_API_BINDINGS_SYSTEM_UNITTEST_H_ |
6 #define EXTENSIONS_RENDERER_API_BINDINGS_SYSTEM_UNITTEST_H_ | 6 #define EXTENSIONS_RENDERER_API_BINDINGS_SYSTEM_UNITTEST_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 // |last_request_|. | 64 // |last_request_|. |
65 void OnAPIRequest(std::unique_ptr<APIRequestHandler::Request> request, | 65 void OnAPIRequest(std::unique_ptr<APIRequestHandler::Request> request, |
66 v8::Local<v8::Context> context); | 66 v8::Local<v8::Context> context); |
67 | 67 |
68 // Checks that |last_request_| exists and was provided with the | 68 // Checks that |last_request_| exists and was provided with the |
69 // |expected_name| and |expected_arguments|. | 69 // |expected_name| and |expected_arguments|. |
70 void ValidateLastRequest(const std::string& expected_name, | 70 void ValidateLastRequest(const std::string& expected_name, |
71 const std::string& expected_arguments); | 71 const std::string& expected_arguments); |
72 | 72 |
73 // Wraps the given |script source| in (function(obj) { ... }) and executes | 73 // Wraps the given |script source| in (function(obj) { ... }) and executes |
74 // the result function, passing in |object| for an argument. | 74 // the result function, passing in |object| for an argument. Returns the |
75 void CallFunctionOnObject(v8::Local<v8::Context> context, | 75 // result of calling the function. |
76 v8::Local<v8::Object> object, | 76 v8::Local<v8::Value> CallFunctionOnObject(v8::Local<v8::Context> context, |
77 const std::string& script_source); | 77 v8::Local<v8::Object> object, |
| 78 const std::string& script_source); |
78 | 79 |
79 const APIRequestHandler::Request* last_request() const { | 80 const APIRequestHandler::Request* last_request() const { |
80 return last_request_.get(); | 81 return last_request_.get(); |
81 } | 82 } |
82 void reset_last_request() { last_request_.reset(); } | 83 void reset_last_request() { last_request_.reset(); } |
83 APIBindingsSystem* bindings_system() { return bindings_system_.get(); } | 84 APIBindingsSystem* bindings_system() { return bindings_system_.get(); } |
84 | 85 |
85 private: | 86 private: |
86 // The API schemas for the fake APIs. | 87 // The API schemas for the fake APIs. |
87 std::map<std::string, std::unique_ptr<base::DictionaryValue>> api_schemas_; | 88 std::map<std::string, std::unique_ptr<base::DictionaryValue>> api_schemas_; |
88 | 89 |
89 // The APIBindingsSystem associated with the test. Safe to use across multiple | 90 // The APIBindingsSystem associated with the test. Safe to use across multiple |
90 // contexts. | 91 // contexts. |
91 std::unique_ptr<APIBindingsSystem> bindings_system_; | 92 std::unique_ptr<APIBindingsSystem> bindings_system_; |
92 | 93 |
93 // The last request to be received from the APIBindingsSystem, or null if | 94 // The last request to be received from the APIBindingsSystem, or null if |
94 // there is none. | 95 // there is none. |
95 std::unique_ptr<APIRequestHandler::Request> last_request_; | 96 std::unique_ptr<APIRequestHandler::Request> last_request_; |
96 | 97 |
97 DISALLOW_COPY_AND_ASSIGN(APIBindingsSystemTest); | 98 DISALLOW_COPY_AND_ASSIGN(APIBindingsSystemTest); |
98 }; | 99 }; |
99 | 100 |
100 } // namespace extensions | 101 } // namespace extensions |
101 | 102 |
102 #endif // EXTENSIONS_RENDERER_API_BINDINGS_SYSTEM_UNITTEST_H_ | 103 #endif // EXTENSIONS_RENDERER_API_BINDINGS_SYSTEM_UNITTEST_H_ |
OLD | NEW |