Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2266)

Unified Diff: ppapi/tests/test_network_monitor_private.cc

Issue 23453025: Refactor PPB_NetworkMonitor_Private interface to use CompletionCallback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/tests/test_network_monitor_private.h ('k') | ppapi/thunk/interfaces_ppb_private_no_permissions.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 a945251d3516521d0f313b12d33e14b10ffdd05c..382cbe0feac7cf22f628240a82f29fdf1a2e45b4 100644
--- a/ppapi/tests/test_network_monitor_private.cc
+++ b/ppapi/tests/test_network_monitor_private.cc
@@ -6,6 +6,7 @@
#include <string.h>
+#include "ppapi/cpp/completion_callback.h"
#include "ppapi/cpp/instance_handle.h"
#include "ppapi/cpp/module.h"
#include "ppapi/cpp/net_address.h"
@@ -13,54 +14,25 @@
#include "ppapi/cpp/private/network_monitor_private.h"
#include "ppapi/tests/testing_instance.h"
#include "ppapi/tests/test_utils.h"
-#include "ppapi/utility/private/network_list_observer_private.h"
REGISTER_TEST_CASE(NetworkMonitorPrivate);
namespace {
-struct CallbackData {
- explicit CallbackData(PP_Instance instance)
- : event(instance),
- call_counter(0),
- delete_monitor(false),
- monitor(NULL) {
- }
- ~CallbackData() {
- }
- NestedEvent event;
- int call_counter;
- pp::NetworkListPrivate network_list;
- bool delete_monitor;
- pp::NetworkMonitorPrivate* monitor;
-};
-
-void TestCallback(void* user_data, PP_Resource pp_network_list) {
- CallbackData* data = static_cast<CallbackData*>(user_data);
- data->call_counter++;
-
- data->network_list = pp::NetworkListPrivate(pp::PASS_REF, pp_network_list);
-
- if (data->delete_monitor)
- delete data->monitor;
-
- if (data->call_counter == 1)
- data->event.Signal();
-}
-
-class TestNetworkListObserver : public pp::NetworkListObserverPrivate {
+class MonitorDeletionCallbackDelegate
+ : public TestCompletionCallback::Delegate {
public:
- explicit TestNetworkListObserver(const pp::InstanceHandle& instance)
- : pp::NetworkListObserverPrivate(instance),
- event(instance.pp_instance()) {
+ explicit MonitorDeletionCallbackDelegate(pp::NetworkMonitorPrivate* monitor)
+ : monitor_(monitor) {
}
- virtual void OnNetworkListChanged(const pp::NetworkListPrivate& list) {
- current_list = list;
- event.Signal();
+
+ // TestCompletionCallback::Delegate interface.
+ virtual void OnCallback(void* user_data, int32_t result) {
+ delete monitor_;
}
- pp::NetworkListPrivate current_list;
- NestedEvent event;
+ private:
+ pp::NetworkMonitorPrivate* monitor_;
};
} // namespace
@@ -80,7 +52,6 @@ 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(
@@ -160,59 +131,52 @@ std::string TestNetworkMonitorPrivate::VerifyNetworkList(
}
std::string TestNetworkMonitorPrivate::TestBasic() {
- CallbackData callback_data(instance_->pp_instance());
+ TestCompletionCallbackWithOutput<pp::NetworkListPrivate> test_callback(
+ instance_->pp_instance());
+ pp::NetworkMonitorPrivate network_monitor(instance_);
+ test_callback.WaitForResult(
+ network_monitor.UpdateNetworkList(test_callback.GetCallback()));
- pp::NetworkMonitorPrivate network_monitor(
- instance_, &TestCallback, &callback_data);
- callback_data.event.Wait();
- ASSERT_EQ(callback_data.call_counter, 1);
-
- ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.network_list));
+ ASSERT_EQ(test_callback.result(), PP_OK);
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(test_callback.output()));
PASS();
}
std::string TestNetworkMonitorPrivate::Test2Monitors() {
- CallbackData callback_data(instance_->pp_instance());
-
- pp::NetworkMonitorPrivate network_monitor(
- instance_, &TestCallback, &callback_data);
- callback_data.event.Wait();
- ASSERT_EQ(callback_data.call_counter, 1);
-
- ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.network_list));
+ TestCompletionCallbackWithOutput<pp::NetworkListPrivate> test_callback(
+ instance_->pp_instance());
+ pp::NetworkMonitorPrivate network_monitor(instance_);
+ test_callback.WaitForResult(
+ network_monitor.UpdateNetworkList(test_callback.GetCallback()));
- CallbackData callback_data_2(instance_->pp_instance());
+ ASSERT_EQ(test_callback.result(), PP_OK);
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(test_callback.output()));
- pp::NetworkMonitorPrivate network_monitor_2(
- instance_, &TestCallback, &callback_data_2);
- callback_data_2.event.Wait();
- ASSERT_EQ(callback_data_2.call_counter, 1);
+ TestCompletionCallbackWithOutput<pp::NetworkListPrivate> test_callback_2(
+ instance_->pp_instance());
+ pp::NetworkMonitorPrivate network_monitor_2(instance_);
+ test_callback_2.WaitForResult(
+ network_monitor_2.UpdateNetworkList(test_callback_2.GetCallback()));
- ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data_2.network_list));
+ ASSERT_EQ(test_callback_2.result(), PP_OK);
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(test_callback_2.output()));
PASS();
}
std::string TestNetworkMonitorPrivate::TestDeleteInCallback() {
- CallbackData callback_data(instance_->pp_instance());
-
- pp::NetworkMonitorPrivate* network_monitor = new pp::NetworkMonitorPrivate(
- instance_, &TestCallback, &callback_data);
- callback_data.delete_monitor = true;
- callback_data.monitor = network_monitor;
-
- callback_data.event.Wait();
- ASSERT_EQ(callback_data.call_counter, 1);
-
- ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(callback_data.network_list));
-
- PASS();
-}
+ pp::NetworkMonitorPrivate* network_monitor =
+ new pp::NetworkMonitorPrivate(instance_);
+ MonitorDeletionCallbackDelegate deletion_delegate(network_monitor);
+ TestCompletionCallbackWithOutput<pp::NetworkListPrivate> test_callback(
+ instance_->pp_instance());
+ test_callback.SetDelegate(&deletion_delegate);
+ test_callback.WaitForResult(
+ network_monitor->UpdateNetworkList(test_callback.GetCallback()));
+
+ ASSERT_EQ(test_callback.result(), PP_OK);
+ ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(test_callback.output()));
-std::string TestNetworkMonitorPrivate::TestListObserver() {
- TestNetworkListObserver observer(instance_);
- observer.event.Wait();
- ASSERT_SUBTEST_SUCCESS(VerifyNetworkList(observer.current_list));
PASS();
}
« no previous file with comments | « ppapi/tests/test_network_monitor_private.h ('k') | ppapi/thunk/interfaces_ppb_private_no_permissions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698