1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "extensions/browser/api/sockets_tcp/sockets_tcp_api.h"
6 #include "extensions/browser/api_test_utils.h"
7 #include "extensions/common/extension.h"
8 #include "extensions/common/test_util.h"
9 #include "extensions/shell/test/shell_test.h"
11 using extensions::api_test_utils::RunFunctionAndReturnSingleResult;
13 namespace extensions {
15 class SocketsTcpApiTest : public AppShellTest {};
17 IN_PROC_BROWSER_TEST_F(SocketsTcpApiTest, SocketsTcpCreateGood) {
18 scoped_refptr<extensions::core_api::SocketsTcpCreateFunction>
19 socket_create_function(
20 new extensions::core_api::SocketsTcpCreateFunction());
21 scoped_refptr<Extension> empty_extension = test_util::CreateEmptyExtension();
23 socket_create_function->set_extension(empty_extension.get());
24 socket_create_function->set_has_callback(true);
26 scoped_ptr<base::Value> result(RunFunctionAndReturnSingleResult(
27 socket_create_function.get(), "[]", browser_context()));
29 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType());
30 base::DictionaryValue* value =
31 static_cast<base::DictionaryValue*>(result.get());
33 EXPECT_TRUE(value->GetInteger("socketId", &socketId));
34 ASSERT_TRUE(socketId > 0);
37 } // namespace extensions