| LEFT | RIGHT |
| 1 #include <AdblockPlus.h> | 1 #include <AdblockPlus.h> |
| 2 #include <gtest/gtest.h> | 2 #include <gtest/gtest.h> |
| 3 | 3 |
| 4 #include "../src/Thread.h" | 4 #include "../src/Thread.h" |
| 5 | 5 |
| 6 class TestWebRequest : public AdblockPlus::WebRequest | 6 class TestWebRequest : public AdblockPlus::WebRequest |
| 7 { | 7 { |
| 8 public: | 8 public: |
| 9 AdblockPlus::ServerResponse GET(const std::string& url, const AdblockPlus::Hea
dersList& requestHeaders) const | 9 AdblockPlus::ServerResponse GET(const std::string& url, const AdblockPlus::Hea
derList& requestHeaders) const |
| 10 { | 10 { |
| 11 AdblockPlus::Sleep(50); | 11 AdblockPlus::Sleep(50); |
| 12 | 12 |
| 13 AdblockPlus::ServerResponse result; | 13 AdblockPlus::ServerResponse result; |
| 14 result.responseStatus = 123; | 14 result.responseStatus = 123; |
| 15 result.responseHeaders.push_back(std::pair<std::string, std::string>("Foo",
"Bar")); | 15 result.responseHeaders.push_back(std::pair<std::string, std::string>("Foo",
"Bar")); |
| 16 result.responseText = url + "\n" + requestHeaders[0].first + "\n" + requestH
eaders[0].second; | 16 result.responseText = url + "\n" + requestHeaders[0].first + "\n" + requestH
eaders[0].second; |
| 17 return result; | 17 return result; |
| 18 } | 18 } |
| 19 }; | 19 }; |
| 20 | 20 |
| 21 TEST(WebRequestTest, BadCall) | 21 TEST(WebRequestTest, BadCall) |
| 22 { | 22 { |
| 23 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 23 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
| 24 ASSERT_ANY_THROW(jsEngine.Evaluate("_request.GET()")); | 24 ASSERT_ANY_THROW(jsEngine.Evaluate("_webRequest.GET()")); |
| 25 ASSERT_ANY_THROW(jsEngine.Evaluate("_request.GET('', {}, function(){})")); | 25 ASSERT_ANY_THROW(jsEngine.Evaluate("_webRequest.GET('', {}, function(){})")); |
| 26 ASSERT_ANY_THROW(jsEngine.Evaluate("_request.GET({toString: false}, {}, functi
on(){})")); | 26 ASSERT_ANY_THROW(jsEngine.Evaluate("_webRequest.GET({toString: false}, {}, fun
ction(){})")); |
| 27 ASSERT_ANY_THROW(jsEngine.Evaluate("_request.GET('http://example.com/', null,
function(){})")); | 27 ASSERT_ANY_THROW(jsEngine.Evaluate("_webRequest.GET('http://example.com/', nul
l, function(){})")); |
| 28 ASSERT_ANY_THROW(jsEngine.Evaluate("_request.GET('http://example.com/', {}, nu
ll)")); | 28 ASSERT_ANY_THROW(jsEngine.Evaluate("_webRequest.GET('http://example.com/', {},
null)")); |
| 29 ASSERT_ANY_THROW(jsEngine.Evaluate("_request.GET('http://example.com/', {}, fu
nction(){}, 0)")); | 29 ASSERT_ANY_THROW(jsEngine.Evaluate("_webRequest.GET('http://example.com/', {},
function(){}, 0)")); |
| 30 } | 30 } |
| 31 | 31 |
| 32 TEST(WebRequestTest, UrlLoad) | 32 TEST(WebRequestTest, UrlLoad) |
| 33 { | 33 { |
| 34 TestWebRequest webRequest; | 34 TestWebRequest webRequest; |
| 35 AdblockPlus::JsEngine jsEngine(0, &webRequest, 0); | 35 AdblockPlus::JsEngine jsEngine(0, &webRequest, 0); |
| 36 jsEngine.Evaluate("_request.GET('http://example.com/', {X: 'Y'}, function(resu
lt) {foo = result;} )"); | 36 jsEngine.Evaluate("_webRequest.GET('http://example.com/', {X: 'Y'}, function(r
esult) {foo = result;} )"); |
| 37 ASSERT_EQ("undefined", jsEngine.Evaluate("typeof foo")); | 37 ASSERT_EQ("undefined", jsEngine.Evaluate("typeof foo")); |
| 38 AdblockPlus::Sleep(200); | 38 AdblockPlus::Sleep(200); |
| 39 ASSERT_EQ("123", jsEngine.Evaluate("foo.responseStatus")); | 39 ASSERT_EQ("123", jsEngine.Evaluate("foo.responseStatus")); |
| 40 ASSERT_EQ("http://example.com/\nX\nY", jsEngine.Evaluate("foo.responseText")); | 40 ASSERT_EQ("http://example.com/\nX\nY", jsEngine.Evaluate("foo.responseText")); |
| 41 ASSERT_EQ("{\"Foo\":\"Bar\"}", jsEngine.Evaluate("JSON.stringify(foo.responseH
eaders)")); | 41 ASSERT_EQ("{\"Foo\":\"Bar\"}", jsEngine.Evaluate("JSON.stringify(foo.responseH
eaders)")); |
| 42 } | 42 } |
| LEFT | RIGHT |