- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / tests / test_host_resolver_private_disallowed.cc
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
3 // found in the LICENSE file.
4
5 #include "ppapi/tests/test_host_resolver_private_disallowed.h"
6
7 #include "ppapi/cpp/module.h"
8 #include "ppapi/cpp/private/net_address_private.h"
9 #include "ppapi/tests/test_utils.h"
10 #include "ppapi/tests/testing_instance.h"
11
12 REGISTER_TEST_CASE(HostResolverPrivateDisallowed);
13
14 TestHostResolverPrivateDisallowed::TestHostResolverPrivateDisallowed(
15     TestingInstance* instance)
16     : TestCase(instance) {
17 }
18
19 bool TestHostResolverPrivateDisallowed::Init() {
20   bool host_resolver_private_is_available =
21       pp::HostResolverPrivate::IsAvailable();
22   if (!host_resolver_private_is_available)
23     instance_->AppendError("PPB_HostResolver_Private interface not available");
24
25   bool init_host_port =
26       GetLocalHostPort(instance_->pp_instance(), &host_, &port_);
27   if (!init_host_port)
28     instance_->AppendError("Can't init host and port");
29
30   return host_resolver_private_is_available &&
31       init_host_port &&
32       EnsureRunningOverHTTP();
33 }
34
35 void TestHostResolverPrivateDisallowed::RunTests(const std::string& filter) {
36   RUN_CALLBACK_TEST(TestHostResolverPrivateDisallowed, Resolve, filter);
37 }
38
39 std::string TestHostResolverPrivateDisallowed::TestResolve() {
40   pp::HostResolverPrivate host_resolver(instance_);
41   PP_HostResolver_Private_Hint hint;
42   hint.family = PP_NETADDRESSFAMILY_PRIVATE_UNSPECIFIED;
43   hint.flags = PP_HOST_RESOLVER_PRIVATE_FLAGS_CANONNAME;
44   TestCompletionCallback callback(instance_->pp_instance(), callback_type());
45   callback.WaitForResult(
46       host_resolver.Resolve(host_, port_, hint, callback.GetCallback()));
47   CHECK_CALLBACK_BEHAVIOR(callback);
48   ASSERT_EQ(PP_ERROR_FAILED, callback.result());
49   PASS();
50 }