| Index: ppapi/tests/test_post_message.cc
|
| diff --git a/ppapi/tests/test_post_message.cc b/ppapi/tests/test_post_message.cc
|
| index 9d6e5696762ca5605d742015c0b5544202e4a980..0f97b74fc2e4a22a467e909d7b028e0ae99d92fe 100644
|
| --- a/ppapi/tests/test_post_message.cc
|
| +++ b/ppapi/tests/test_post_message.cc
|
| @@ -106,16 +106,16 @@ bool TestPostMessage::Init() {
|
| return success;
|
| }
|
|
|
| -void TestPostMessage::RunTest() {
|
| +void TestPostMessage::RunTests(const std::string& filter) {
|
| // Note: SendInInit must be first, because it expects to receive a message
|
| // that was sent in Init above.
|
| - RUN_TEST(SendInInit);
|
| - RUN_TEST(SendingData);
|
| - RUN_TEST(MessageEvent);
|
| - RUN_TEST(NoHandler);
|
| - RUN_TEST(ExtraParam);
|
| + RUN_TEST(SendInInit, filter);
|
| + RUN_TEST(SendingData, filter);
|
| + RUN_TEST(MessageEvent, filter);
|
| + RUN_TEST(NoHandler, filter);
|
| + RUN_TEST(ExtraParam, filter);
|
| if (testing_interface_->IsOutOfProcess())
|
| - RUN_TEST(NonMainThread);
|
| + RUN_TEST(NonMainThread, filter);
|
| }
|
|
|
| void TestPostMessage::HandleMessage(const pp::Var& message_data) {
|
| @@ -186,9 +186,13 @@ std::string TestPostMessage::TestSendInInit() {
|
| }
|
|
|
| std::string TestPostMessage::TestSendingData() {
|
| + // Clean up after previous tests. This also swallows the message sent by Init
|
| + // if we didn't run the 'SendInInit' test. All tests other than 'SendInInit'
|
| + // should start with these.
|
| + WaitForMessages();
|
| + ASSERT_TRUE(ClearListeners());
|
| // Set up the JavaScript message event listener to echo the data part of the
|
| // message event back to us.
|
| - ASSERT_TRUE(ClearListeners());
|
| ASSERT_TRUE(AddEchoingListener("message_event.data"));
|
|
|
| // Test sending a message to JavaScript for each supported type. The JS sends
|
| @@ -244,9 +248,10 @@ std::string TestPostMessage::TestMessageEvent() {
|
| // Set up the JavaScript message event listener to pass us some values from
|
| // the MessageEvent and make sure they match our expectations.
|
|
|
| + WaitForMessages();
|
| + ASSERT_TRUE(ClearListeners());
|
| // Have the listener pass back the type of message_event and make sure it's
|
| // "object".
|
| - ASSERT_TRUE(ClearListeners());
|
| ASSERT_TRUE(AddEchoingListener("typeof(message_event)"));
|
| message_data_.clear();
|
| instance_->PostMessage(pp::Var(kTestInt));
|
| @@ -299,13 +304,12 @@ std::string TestPostMessage::TestMessageEvent() {
|
| ASSERT_DOUBLE_EQ(double_vec[1], 2.0);
|
| ASSERT_DOUBLE_EQ(double_vec[2], 3.0);
|
|
|
| - ASSERT_TRUE(ClearListeners());
|
| -
|
| PASS();
|
| }
|
|
|
| std::string TestPostMessage::TestNoHandler() {
|
| - // Delete any lingering event listeners.
|
| + // Delete any lingering messages and event listeners.
|
| + WaitForMessages();
|
| ASSERT_TRUE(ClearListeners());
|
|
|
| // Now send a message. We shouldn't get a response.
|
| @@ -318,7 +322,8 @@ std::string TestPostMessage::TestNoHandler() {
|
| }
|
|
|
| std::string TestPostMessage::TestExtraParam() {
|
| - // Delete any lingering event listeners.
|
| + // Delete any lingering messages and event listeners.
|
| + WaitForMessages();
|
| ASSERT_TRUE(ClearListeners());
|
| // Add a listener that will respond with 1 and an empty array (where the
|
| // message port array would appear if it was Worker postMessage).
|
| @@ -334,6 +339,7 @@ std::string TestPostMessage::TestExtraParam() {
|
| }
|
|
|
| std::string TestPostMessage::TestNonMainThread() {
|
| + WaitForMessages();
|
| ASSERT_TRUE(ClearListeners());
|
| ASSERT_TRUE(AddEchoingListener("message_event.data"));
|
| message_data_.clear();
|
|
|