Index: net/proxy/proxy_resolver_v8_unittest.cc |
diff --git a/net/proxy/proxy_resolver_v8_unittest.cc b/net/proxy/proxy_resolver_v8_unittest.cc |
index 93243e6794dad2be609e70b8154e35c7f2f79e49..d6f5215968c5ea8ae02bce40b1045fe86840b9ae 100644 |
--- a/net/proxy/proxy_resolver_v8_unittest.cc |
+++ b/net/proxy/proxy_resolver_v8_unittest.cc |
@@ -13,9 +13,14 @@ |
#include "net/proxy/proxy_info.h" |
#include "net/proxy/proxy_resolver_script_data.h" |
#include "net/proxy/proxy_resolver_v8.h" |
+#include "net/test/gtest_util.h" |
+#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "url/gurl.h" |
+using net::test::IsError; |
+using net::test::IsOk; |
+ |
namespace net { |
namespace { |
@@ -140,12 +145,12 @@ const GURL kQueryUrl("http://www.google.com"); |
const GURL kPacUrl; |
TEST_F(ProxyResolverV8Test, Direct) { |
- ASSERT_EQ(OK, CreateResolver("direct.js")); |
+ ASSERT_THAT(CreateResolver("direct.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_TRUE(proxy_info.is_direct()); |
EXPECT_EQ(0U, bindings()->alerts.size()); |
@@ -153,12 +158,12 @@ TEST_F(ProxyResolverV8Test, Direct) { |
} |
TEST_F(ProxyResolverV8Test, ReturnEmptyString) { |
- ASSERT_EQ(OK, CreateResolver("return_empty_string.js")); |
+ ASSERT_THAT(CreateResolver("return_empty_string.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_TRUE(proxy_info.is_direct()); |
EXPECT_EQ(0U, bindings()->alerts.size()); |
@@ -166,7 +171,7 @@ TEST_F(ProxyResolverV8Test, ReturnEmptyString) { |
} |
TEST_F(ProxyResolverV8Test, Basic) { |
- ASSERT_EQ(OK, CreateResolver("passthrough.js")); |
+ ASSERT_THAT(CreateResolver("passthrough.js"), IsOk()); |
// The "FindProxyForURL" of this PAC script simply concatenates all of the |
// arguments into a pseudo-host. The purpose of this test is to verify that |
@@ -175,7 +180,7 @@ TEST_F(ProxyResolverV8Test, Basic) { |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(GURL("http://query.com/path"), |
&proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_EQ("http.query.com.path.query.com:80", |
proxy_info.proxy_server().ToURI()); |
} |
@@ -183,7 +188,7 @@ TEST_F(ProxyResolverV8Test, Basic) { |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(GURL("ftp://query.com:90/path"), |
&proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
// Note that FindProxyForURL(url, host) does not expect |host| to contain |
// the port number. |
EXPECT_EQ("ftp.query.com.90.path.query.com:80", |
@@ -207,13 +212,13 @@ TEST_F(ProxyResolverV8Test, BadReturnType) { |
"return_null.js"}; |
for (size_t i = 0; i < arraysize(filenames); ++i) { |
- ASSERT_EQ(OK, CreateResolver(filenames[i])); |
+ ASSERT_THAT(CreateResolver(filenames[i]), IsOk()); |
MockJSBindings bindings; |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, &bindings); |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, result); |
+ EXPECT_THAT(result, IsError(ERR_PAC_SCRIPT_FAILED)); |
EXPECT_EQ(0U, bindings.alerts.size()); |
ASSERT_EQ(1U, bindings.errors.size()); |
@@ -224,7 +229,8 @@ TEST_F(ProxyResolverV8Test, BadReturnType) { |
// Try using a PAC script which defines no "FindProxyForURL" function. |
TEST_F(ProxyResolverV8Test, NoEntryPoint) { |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, CreateResolver("no_entrypoint.js")); |
+ EXPECT_THAT(CreateResolver("no_entrypoint.js"), |
+ IsError(ERR_PAC_SCRIPT_FAILED)); |
ASSERT_EQ(1U, bindings()->errors.size()); |
EXPECT_EQ("FindProxyForURL is undefined or not a function.", |
@@ -234,7 +240,8 @@ TEST_F(ProxyResolverV8Test, NoEntryPoint) { |
// Try loading a malformed PAC script. |
TEST_F(ProxyResolverV8Test, ParseError) { |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, CreateResolver("missing_close_brace.js")); |
+ EXPECT_THAT(CreateResolver("missing_close_brace.js"), |
+ IsError(ERR_PAC_SCRIPT_FAILED)); |
EXPECT_EQ(0U, bindings()->alerts.size()); |
@@ -248,25 +255,25 @@ TEST_F(ProxyResolverV8Test, ParseError) { |
// Run a PAC script several times, which has side-effects. |
TEST_F(ProxyResolverV8Test, SideEffects) { |
- ASSERT_EQ(OK, CreateResolver("side_effects.js")); |
+ ASSERT_THAT(CreateResolver("side_effects.js"), IsOk()); |
// The PAC script increments a counter each time we invoke it. |
for (int i = 0; i < 3; ++i) { |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_EQ(base::StringPrintf("sideffect_%d:80", i), |
proxy_info.proxy_server().ToURI()); |
} |
// Reload the script -- the javascript environment should be reset, hence |
// the counter starts over. |
- ASSERT_EQ(OK, CreateResolver("side_effects.js")); |
+ ASSERT_THAT(CreateResolver("side_effects.js"), IsOk()); |
for (int i = 0; i < 3; ++i) { |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_EQ(base::StringPrintf("sideffect_%d:80", i), |
proxy_info.proxy_server().ToURI()); |
} |
@@ -274,12 +281,12 @@ TEST_F(ProxyResolverV8Test, SideEffects) { |
// Execute a PAC script which throws an exception in FindProxyForURL. |
TEST_F(ProxyResolverV8Test, UnhandledException) { |
- ASSERT_EQ(OK, CreateResolver("unhandled_exception.js")); |
+ ASSERT_THAT(CreateResolver("unhandled_exception.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, result); |
+ EXPECT_THAT(result, IsError(ERR_PAC_SCRIPT_FAILED)); |
EXPECT_EQ(0U, bindings()->alerts.size()); |
ASSERT_EQ(1U, bindings()->errors.size()); |
@@ -305,12 +312,13 @@ TEST_F(ProxyResolverV8Test, ExceptionAccessingFindProxyForURLDuringInit) { |
// Execute a PAC script which throws an exception during the second access to |
// FindProxyForURL |
TEST_F(ProxyResolverV8Test, ExceptionAccessingFindProxyForURLDuringResolve) { |
- ASSERT_EQ(OK, CreateResolver("exception_findproxyforurl_during_resolve.js")); |
+ ASSERT_THAT(CreateResolver("exception_findproxyforurl_during_resolve.js"), |
+ IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, result); |
+ EXPECT_THAT(result, IsError(ERR_PAC_SCRIPT_FAILED)); |
ASSERT_EQ(2U, bindings()->errors.size()); |
EXPECT_EQ("Uncaught crash!", bindings()->errors[0]); |
@@ -321,26 +329,26 @@ TEST_F(ProxyResolverV8Test, ExceptionAccessingFindProxyForURLDuringResolve) { |
} |
TEST_F(ProxyResolverV8Test, ReturnUnicode) { |
- ASSERT_EQ(OK, CreateResolver("return_unicode.js")); |
+ ASSERT_THAT(CreateResolver("return_unicode.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
// The result from this resolve was unparseable, because it |
// wasn't ASCII. |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, result); |
+ EXPECT_THAT(result, IsError(ERR_PAC_SCRIPT_FAILED)); |
} |
// Test the PAC library functions that we expose in the JS environment. |
TEST_F(ProxyResolverV8Test, JavascriptLibrary) { |
- ASSERT_EQ(OK, CreateResolver("pac_library_unittest.js")); |
+ ASSERT_THAT(CreateResolver("pac_library_unittest.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
// If the javascript side of this unit-test fails, it will throw a javascript |
// exception. Otherwise it will return "PROXY success:80". |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_EQ("success:80", proxy_info.proxy_server().ToURI()); |
EXPECT_EQ(0U, bindings()->alerts.size()); |
@@ -349,13 +357,13 @@ TEST_F(ProxyResolverV8Test, JavascriptLibrary) { |
// Test marshalling/un-marshalling of values between C++/V8. |
TEST_F(ProxyResolverV8Test, V8Bindings) { |
- ASSERT_EQ(OK, CreateResolver("bindings.js")); |
+ ASSERT_THAT(CreateResolver("bindings.js"), IsOk()); |
bindings()->dns_resolve_result = "127.0.0.1"; |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_TRUE(proxy_info.is_direct()); |
EXPECT_EQ(0U, bindings()->errors.size()); |
@@ -389,7 +397,7 @@ TEST_F(ProxyResolverV8Test, V8Bindings) { |
// Test calling a binding (myIpAddress()) from the script's global scope. |
// http://crbug.com/40026 |
TEST_F(ProxyResolverV8Test, BindingCalledDuringInitialization) { |
- ASSERT_EQ(OK, CreateResolver("binding_from_global.js")); |
+ ASSERT_THAT(CreateResolver("binding_from_global.js"), IsOk()); |
// myIpAddress() got called during initialization of the script. |
EXPECT_EQ(1, bindings()->my_ip_address_count); |
@@ -397,7 +405,7 @@ TEST_F(ProxyResolverV8Test, BindingCalledDuringInitialization) { |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_FALSE(proxy_info.is_direct()); |
EXPECT_EQ("127.0.0.1:80", proxy_info.proxy_server().ToURI()); |
@@ -414,12 +422,12 @@ TEST_F(ProxyResolverV8Test, BindingCalledDuringInitialization) { |
// that we add to the script's environment. |
// http://crbug.com/22864 |
TEST_F(ProxyResolverV8Test, EndsWithCommentNoNewline) { |
- ASSERT_EQ(OK, CreateResolver("ends_with_comment.js")); |
+ ASSERT_THAT(CreateResolver("ends_with_comment.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_FALSE(proxy_info.is_direct()); |
EXPECT_EQ("success:80", proxy_info.proxy_server().ToURI()); |
} |
@@ -429,12 +437,12 @@ TEST_F(ProxyResolverV8Test, EndsWithCommentNoNewline) { |
// that we add to the script's environment. |
// http://crbug.com/22864 |
TEST_F(ProxyResolverV8Test, EndsWithStatementNoNewline) { |
- ASSERT_EQ(OK, CreateResolver("ends_with_statement_no_semicolon.js")); |
+ ASSERT_THAT(CreateResolver("ends_with_statement_no_semicolon.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_FALSE(proxy_info.is_direct()); |
EXPECT_EQ("success:3", proxy_info.proxy_server().ToURI()); |
} |
@@ -444,24 +452,24 @@ TEST_F(ProxyResolverV8Test, EndsWithStatementNoNewline) { |
// returns empty string (failure). This simulates the return values from |
// those functions when the underlying DNS resolution fails. |
TEST_F(ProxyResolverV8Test, DNSResolutionFailure) { |
- ASSERT_EQ(OK, CreateResolver("dns_fail.js")); |
+ ASSERT_THAT(CreateResolver("dns_fail.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_FALSE(proxy_info.is_direct()); |
EXPECT_EQ("success:80", proxy_info.proxy_server().ToURI()); |
} |
TEST_F(ProxyResolverV8Test, DNSResolutionOfInternationDomainName) { |
- ASSERT_EQ(OK, CreateResolver("international_domain_names.js")); |
+ ASSERT_THAT(CreateResolver("international_domain_names.js"), IsOk()); |
// Execute FindProxyForURL(). |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL(kQueryUrl, &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_TRUE(proxy_info.is_direct()); |
// Check that the international domain name was converted to punycode |
@@ -478,13 +486,13 @@ TEST_F(ProxyResolverV8Test, DNSResolutionOfInternationDomainName) { |
// If we don't do this, then subsequent calls to dnsResolveEx(host) will be |
// doomed to fail since it won't correspond with a valid name. |
TEST_F(ProxyResolverV8Test, IPv6HostnamesNotBracketed) { |
- ASSERT_EQ(OK, CreateResolver("resolve_host.js")); |
+ ASSERT_THAT(CreateResolver("resolve_host.js"), IsOk()); |
ProxyInfo proxy_info; |
int result = resolver().GetProxyForURL( |
GURL("http://[abcd::efff]:99/watsupdawg"), &proxy_info, bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_TRUE(proxy_info.is_direct()); |
// We called dnsResolveEx() exactly once, by passing through the "host" |
@@ -497,7 +505,7 @@ TEST_F(ProxyResolverV8Test, IPv6HostnamesNotBracketed) { |
// termination of the script. Also test that repeatedly calling terminate is |
// safe, and running the script again after termination still works. |
TEST_F(ProxyResolverV8Test, Terminate) { |
- ASSERT_EQ(OK, CreateResolver("terminate.js")); |
+ ASSERT_THAT(CreateResolver("terminate.js"), IsOk()); |
// Terminate script execution upon reaching dnsResolve(). Note that |
// termination may not take effect right away (so the subsequent dnsResolve() |
@@ -509,7 +517,7 @@ TEST_F(ProxyResolverV8Test, Terminate) { |
resolver().GetProxyForURL(GURL("http://hang/"), &proxy_info, bindings()); |
// The script execution was terminated. |
- EXPECT_EQ(ERR_PAC_SCRIPT_FAILED, result); |
+ EXPECT_THAT(result, IsError(ERR_PAC_SCRIPT_FAILED)); |
EXPECT_EQ(1U, bindings()->dns_resolves.size()); |
EXPECT_GE(2U, bindings()->dns_resolves_ex.size()); |
@@ -527,7 +535,7 @@ TEST_F(ProxyResolverV8Test, Terminate) { |
result = resolver().GetProxyForURL(GURL("http://kittens/"), &proxy_info, |
bindings()); |
- EXPECT_EQ(OK, result); |
+ EXPECT_THAT(result, IsOk()); |
EXPECT_EQ(0u, bindings()->errors.size()); |
EXPECT_EQ("kittens:88", proxy_info.proxy_server().ToURI()); |
} |