OLD | NEW |
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 #include "base/memory/ref_counted.h" | 5 #include "base/memory/ref_counted.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "chrome/browser/extensions/api/dns/dns_api.h" | 7 #include "chrome/browser/extensions/api/dns/dns_api.h" |
8 #include "chrome/browser/extensions/api/dns/host_resolver_wrapper.h" | 8 #include "chrome/browser/extensions/api/dns/host_resolver_wrapper.h" |
9 #include "chrome/browser/extensions/api/dns/mock_host_resolver_creator.h" | 9 #include "chrome/browser/extensions/api/dns/mock_host_resolver_creator.h" |
10 #include "chrome/browser/extensions/extension_apitest.h" | 10 #include "chrome/browser/extensions/extension_apitest.h" |
11 #include "chrome/browser/extensions/extension_function_test_utils.h" | 11 #include "chrome/browser/extensions/extension_function_test_utils.h" |
12 #include "net/base/mock_host_resolver.h" | 12 #include "net/base/mock_host_resolver.h" |
13 #include "net/base/net_errors.h" | 13 #include "net/base/net_errors.h" |
14 #include "net/base/net_util.h" | 14 #include "net/base/net_util.h" |
15 | 15 |
16 using extension_function_test_utils::CreateEmptyExtension; | 16 using extension_function_test_utils::CreateEmptyExtension; |
17 using extension_function_test_utils::RunFunctionAndReturnResult; | 17 using extension_function_test_utils::RunFunctionAndReturnSingleResult; |
18 | 18 |
19 namespace { | 19 namespace { |
20 | 20 |
21 class DnsApiTest : public PlatformAppApiTest { | 21 class DnsApiTest : public PlatformAppApiTest { |
22 public: | 22 public: |
23 DnsApiTest() : resolver_event_(true, false), | 23 DnsApiTest() : resolver_event_(true, false), |
24 resolver_creator_(new extensions::MockHostResolverCreator()) { | 24 resolver_creator_(new extensions::MockHostResolverCreator()) { |
25 } | 25 } |
26 | 26 |
27 void SetUpOnMainThread() OVERRIDE { | 27 void SetUpOnMainThread() OVERRIDE { |
(...skipping 19 matching lines...) Expand all Loading... |
47 } // namespace | 47 } // namespace |
48 | 48 |
49 IN_PROC_BROWSER_TEST_F(DnsApiTest, DnsResolveIPLiteral) { | 49 IN_PROC_BROWSER_TEST_F(DnsApiTest, DnsResolveIPLiteral) { |
50 scoped_refptr<extensions::DnsResolveFunction> resolve_function( | 50 scoped_refptr<extensions::DnsResolveFunction> resolve_function( |
51 new extensions::DnsResolveFunction()); | 51 new extensions::DnsResolveFunction()); |
52 scoped_refptr<extensions::Extension> empty_extension(CreateEmptyExtension()); | 52 scoped_refptr<extensions::Extension> empty_extension(CreateEmptyExtension()); |
53 | 53 |
54 resolve_function->set_extension(empty_extension.get()); | 54 resolve_function->set_extension(empty_extension.get()); |
55 resolve_function->set_has_callback(true); | 55 resolve_function->set_has_callback(true); |
56 | 56 |
57 scoped_ptr<base::Value> result(RunFunctionAndReturnResult( | 57 scoped_ptr<base::Value> result(RunFunctionAndReturnSingleResult( |
58 resolve_function, "[\"127.0.0.1\"]", browser())); | 58 resolve_function, "[\"127.0.0.1\"]", browser())); |
59 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType()); | 59 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType()); |
60 DictionaryValue *value = static_cast<DictionaryValue*>(result.get()); | 60 DictionaryValue *value = static_cast<DictionaryValue*>(result.get()); |
61 | 61 |
62 int resultCode; | 62 int resultCode; |
63 EXPECT_TRUE(value->GetInteger("resultCode", &resultCode)); | 63 EXPECT_TRUE(value->GetInteger("resultCode", &resultCode)); |
64 EXPECT_EQ(net::OK, resultCode); | 64 EXPECT_EQ(net::OK, resultCode); |
65 | 65 |
66 std::string address; | 66 std::string address; |
67 EXPECT_TRUE(value->GetString("address", &address)); | 67 EXPECT_TRUE(value->GetString("address", &address)); |
68 EXPECT_EQ("127.0.0.1", address); | 68 EXPECT_EQ("127.0.0.1", address); |
69 } | 69 } |
70 | 70 |
71 IN_PROC_BROWSER_TEST_F(DnsApiTest, DnsResolveHostname) { | 71 IN_PROC_BROWSER_TEST_F(DnsApiTest, DnsResolveHostname) { |
72 scoped_refptr<extensions::DnsResolveFunction> resolve_function( | 72 scoped_refptr<extensions::DnsResolveFunction> resolve_function( |
73 new extensions::DnsResolveFunction()); | 73 new extensions::DnsResolveFunction()); |
74 scoped_refptr<extensions::Extension> empty_extension(CreateEmptyExtension()); | 74 scoped_refptr<extensions::Extension> empty_extension(CreateEmptyExtension()); |
75 | 75 |
76 resolve_function->set_extension(empty_extension.get()); | 76 resolve_function->set_extension(empty_extension.get()); |
77 resolve_function->set_has_callback(true); | 77 resolve_function->set_has_callback(true); |
78 | 78 |
79 std::string function_arguments("[\""); | 79 std::string function_arguments("[\""); |
80 function_arguments += extensions::MockHostResolverCreator::kHostname; | 80 function_arguments += extensions::MockHostResolverCreator::kHostname; |
81 function_arguments += "\"]"; | 81 function_arguments += "\"]"; |
82 scoped_ptr<base::Value> result( | 82 scoped_ptr<base::Value> result( |
83 RunFunctionAndReturnResult(resolve_function.get(), | 83 RunFunctionAndReturnSingleResult(resolve_function.get(), |
84 function_arguments, browser())); | 84 function_arguments, browser())); |
85 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType()); | 85 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType()); |
86 DictionaryValue *value = static_cast<DictionaryValue*>(result.get()); | 86 DictionaryValue *value = static_cast<DictionaryValue*>(result.get()); |
87 | 87 |
88 int resultCode; | 88 int resultCode; |
89 EXPECT_TRUE(value->GetInteger("resultCode", &resultCode)); | 89 EXPECT_TRUE(value->GetInteger("resultCode", &resultCode)); |
90 EXPECT_EQ(net::OK, resultCode); | 90 EXPECT_EQ(net::OK, resultCode); |
91 | 91 |
92 std::string address; | 92 std::string address; |
93 EXPECT_TRUE(value->GetString("address", &address)); | 93 EXPECT_TRUE(value->GetString("address", &address)); |
94 EXPECT_EQ(extensions::MockHostResolverCreator::kAddress, address); | 94 EXPECT_EQ(extensions::MockHostResolverCreator::kAddress, address); |
95 } | 95 } |
96 | 96 |
97 IN_PROC_BROWSER_TEST_F(DnsApiTest, DnsExtension) { | 97 IN_PROC_BROWSER_TEST_F(DnsApiTest, DnsExtension) { |
98 ASSERT_TRUE(RunExtensionTest("dns/api")) << message_; | 98 ASSERT_TRUE(RunExtensionTest("dns/api")) << message_; |
99 } | 99 } |
OLD | NEW |