| Index: ppapi/tests/test_network_monitor_private.cc
|
| diff --git a/ppapi/tests/test_network_monitor_private.cc b/ppapi/tests/test_network_monitor_private.cc
|
| index 1a848a1d0e3e95ffcf507ae80f89a804a2846bc5..29db5cf0bc72fbec9218add66079188f7646cd2f 100644
|
| --- a/ppapi/tests/test_network_monitor_private.cc
|
| +++ b/ppapi/tests/test_network_monitor_private.cc
|
| @@ -6,11 +6,13 @@
|
|
|
| #include <string.h>
|
|
|
| +#include "ppapi/cpp/instance_handle.h"
|
| +#include "ppapi/cpp/module.h"
|
| #include "ppapi/cpp/private/network_list_private.h"
|
| #include "ppapi/cpp/private/network_monitor_private.h"
|
| #include "ppapi/tests/testing_instance.h"
|
| #include "ppapi/tests/test_utils.h"
|
| -#include "ppapi/cpp/module.h"
|
| +#include "ppapi/utility/network_list_observer.h"
|
|
|
| REGISTER_TEST_CASE(NetworkMonitorPrivate);
|
|
|
| @@ -51,6 +53,22 @@ void TestCallback(void* user_data, PP_Resource network_list) {
|
| static_cast<pp::CompletionCallback>(data->completion_callback).Run(PP_OK);
|
| }
|
|
|
| +
|
| +class TestNetworkListObserver : public pp::NetworkListObserver {
|
| + public:
|
| + TestNetworkListObserver(const pp::InstanceHandle& instance)
|
| + : pp::NetworkListObserver(instance),
|
| + completion_callback(instance.pp_instance()) {
|
| + }
|
| + virtual void OnNetworkList(const pp::NetworkListPrivate& list) {
|
| + current_list = list;
|
| + static_cast<pp::CompletionCallback>(completion_callback).Run(PP_OK);
|
| + }
|
| +
|
| + pp::NetworkListPrivate current_list;
|
| + TestCompletionCallback completion_callback;
|
| +};
|
| +
|
| } // namespace
|
|
|
| TestNetworkMonitorPrivate::TestNetworkMonitorPrivate(TestingInstance* instance)
|
| @@ -68,12 +86,17 @@ void TestNetworkMonitorPrivate::RunTests(const std::string& filter) {
|
| RUN_TEST_FORCEASYNC_AND_NOT(Basic, filter);
|
| RUN_TEST_FORCEASYNC_AND_NOT(2Monitors, filter);
|
| RUN_TEST_FORCEASYNC_AND_NOT(DeleteInCallback, filter);
|
| + RUN_TEST_FORCEASYNC_AND_NOT(ListObserver, filter);
|
| }
|
|
|
| -std::string TestNetworkMonitorPrivate::VerifyNetworkList(
|
| - PP_Resource network_resource) {
|
| - pp::NetworkListPrivate network_list(network_resource);
|
| +std::string TestNetworkMonitorPrivate::VerifyNetworkListResource(
|
| + PP_Resource network_list_resource) {
|
| + pp::NetworkListPrivate network_list(network_list_resource);
|
| + return VerifyNetworkList(network_list);
|
| +}
|
|
|
| +std::string TestNetworkMonitorPrivate::VerifyNetworkList(
|
| + const pp::NetworkListPrivate& network_list) {
|
| // Verify that there is at least one network interface.
|
| size_t count = network_list.GetCount();
|
| ASSERT_TRUE(count >= 1U);
|
| @@ -125,7 +148,7 @@ std::string TestNetworkMonitorPrivate::VerifyNetworkList(
|
| const char kFillValue = 123;
|
| memset(&addresses.front(), kFillValue,
|
| addresses.size() * sizeof(PP_NetAddress_Private));
|
| - int result = interface->GetIpAddresses(network_resource, 0,
|
| + int result = interface->GetIpAddresses(network_list.pp_resource(), 0,
|
| &addresses.front(), i);
|
| ASSERT_EQ(result, static_cast<int>(address_count));
|
|
|
| @@ -148,7 +171,8 @@ std::string TestNetworkMonitorPrivate::TestBasic() {
|
| ASSERT_EQ(callback_data.completion_callback.WaitForResult(), PP_OK);
|
| ASSERT_EQ(callback_data.call_counter, 1);
|
|
|
| - ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.list_resource));
|
| + ASSERT_SUBTEST_SUCCESS(
|
| + VerifyNetworkListResource(callback_data.list_resource));
|
|
|
| PASS();
|
| }
|
| @@ -161,7 +185,8 @@ std::string TestNetworkMonitorPrivate::Test2Monitors() {
|
| ASSERT_EQ(callback_data.completion_callback.WaitForResult(), PP_OK);
|
| ASSERT_EQ(callback_data.call_counter, 1);
|
|
|
| - ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.list_resource));
|
| + ASSERT_SUBTEST_SUCCESS(
|
| + VerifyNetworkListResource(callback_data.list_resource));
|
|
|
| CallbackData callback_data_2(instance_->pp_instance());
|
|
|
| @@ -170,7 +195,8 @@ std::string TestNetworkMonitorPrivate::Test2Monitors() {
|
| ASSERT_EQ(callback_data_2.completion_callback.WaitForResult(), PP_OK);
|
| ASSERT_EQ(callback_data_2.call_counter, 1);
|
|
|
| - ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data_2.list_resource));
|
| + ASSERT_SUBTEST_SUCCESS(
|
| + VerifyNetworkListResource(callback_data_2.list_resource));
|
|
|
| PASS();
|
| }
|
| @@ -186,7 +212,15 @@ std::string TestNetworkMonitorPrivate::TestDeleteInCallback() {
|
| ASSERT_EQ(callback_data.completion_callback.WaitForResult(), PP_OK);
|
| ASSERT_EQ(callback_data.call_counter, 1);
|
|
|
| - ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.list_resource));
|
| + ASSERT_SUBTEST_SUCCESS(
|
| + VerifyNetworkListResource(callback_data.list_resource));
|
| +
|
| + PASS();
|
| +}
|
|
|
| +std::string TestNetworkMonitorPrivate::TestListObserver() {
|
| + TestNetworkListObserver observer(instance_);
|
| + ASSERT_EQ(observer.completion_callback.WaitForResult(), PP_OK);
|
| + ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(observer.current_list));
|
| PASS();
|
| }
|
|
|