OLD | NEW |
1 #include <AdblockPlus.h> | 1 #include <AdblockPlus.h> |
2 #include <gtest/gtest.h> | 2 #include <gtest/gtest.h> |
3 | 3 |
4 class MockErrorCallback : public AdblockPlus::ErrorCallback | 4 class MockErrorCallback : public AdblockPlus::ErrorCallback |
5 { | 5 { |
6 public: | 6 public: |
7 std::string lastMessage; | 7 std::string lastMessage; |
8 | 8 |
9 void operator()(const std::string& message) | 9 void operator()(const std::string& message) |
10 { | 10 { |
11 lastMessage = message; | 11 lastMessage = message; |
12 } | 12 } |
13 }; | 13 }; |
14 | 14 |
15 TEST(ConsoleJsObjectTest, ErrorInvokesErrorCallback) | 15 TEST(ConsoleJsObjectTest, ErrorInvokesErrorCallback) |
16 { | 16 { |
17 MockErrorCallback errorCallback; | 17 AdblockPlus::JsEngine jsEngine; |
18 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, &errorCallback); | 18 MockErrorCallback* errorCallback = new MockErrorCallback(); |
| 19 jsEngine.SetErrorCallback(AdblockPlus::ErrorCallbackPtr(errorCallback)); |
19 jsEngine.Evaluate("console.error('foo')"); | 20 jsEngine.Evaluate("console.error('foo')"); |
20 ASSERT_EQ("foo", errorCallback.lastMessage); | 21 ASSERT_EQ("foo", errorCallback->lastMessage); |
21 } | 22 } |
22 | 23 |
23 TEST(ConsoleJsObjectTest, ErrorWithMultipleArguments) | 24 TEST(ConsoleJsObjectTest, ErrorWithMultipleArguments) |
24 { | 25 { |
25 MockErrorCallback errorCallback; | 26 AdblockPlus::JsEngine jsEngine; |
26 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, &errorCallback); | 27 MockErrorCallback* errorCallback = new MockErrorCallback(); |
| 28 jsEngine.SetErrorCallback(AdblockPlus::ErrorCallbackPtr(errorCallback)); |
27 jsEngine.Evaluate("console.error('foo', 'bar')"); | 29 jsEngine.Evaluate("console.error('foo', 'bar')"); |
28 ASSERT_EQ("foobar", errorCallback.lastMessage); | 30 ASSERT_EQ("foobar", errorCallback->lastMessage); |
29 } | 31 } |
30 | 32 |
31 TEST(ConsoleJsObjectTest, TraceDoesNothing) | 33 TEST(ConsoleJsObjectTest, TraceDoesNothing) |
32 { | 34 { |
33 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0); | 35 AdblockPlus::JsEngine jsEngine; |
34 jsEngine.Evaluate("console.trace()"); | 36 jsEngine.Evaluate("console.trace()"); |
35 } | 37 } |
OLD | NEW |