diff options
author | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-17 14:24:30 +0000 |
---|---|---|
committer | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-17 14:24:30 +0000 |
commit | 08610101320e903c398cea854bd8ad66e361aebc (patch) | |
tree | 38bb90bf10119a519a68a1a6f0955d0c8910c1f9 /ppapi/tests | |
parent | 5ccea8893320e6b6ccf422179ec50cee08f15a7f (diff) | |
download | chromium_src-08610101320e903c398cea854bd8ad66e361aebc.zip chromium_src-08610101320e903c398cea854bd8ad66e361aebc.tar.gz chromium_src-08610101320e903c398cea854bd8ad66e361aebc.tar.bz2 |
Add TestingInstance::ExecuteScript method which posts a message that the test page
can eval(). Change InputEvent and PostMessage tests to use this.
Add proxy for PPB_Testing_Dev::SimulateInputEvent function.
BUG=NONE
TEST=ui_tests
Review URL: http://codereview.chromium.org/8920005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114924 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/tests')
-rw-r--r-- | ppapi/tests/test_case.html | 10 | ||||
-rw-r--r-- | ppapi/tests/test_input_event.cc | 7 | ||||
-rw-r--r-- | ppapi/tests/test_post_message.cc | 28 | ||||
-rw-r--r-- | ppapi/tests/testing_instance.cc | 6 | ||||
-rw-r--r-- | ppapi/tests/testing_instance.h | 3 |
5 files changed, 33 insertions, 21 deletions
diff --git a/ppapi/tests/test_case.html b/ppapi/tests/test_case.html index 43b24a5..7e8630e 100644 --- a/ppapi/tests/test_case.html +++ b/ppapi/tests/test_case.html @@ -78,6 +78,7 @@ function ExtractSearchParameter(name) { // - DidExecuteTests // - LogHTML // - SetCookie +// - EvalScript // The second item is the verbatim message_contents. function ParseTestingMessage(message_data) { if (typeof(message_data)!='string') @@ -107,6 +108,13 @@ function SetCookie(key_value_string) { window.document.cookie = key_value_string + "; path=/"; } +function EvalScript(script) { + try { + eval(script); + } catch(ex) { + } +} + function IsTestingMessage(message_data) { return (ParseTestingMessage(message_data) != undefined); } @@ -124,6 +132,8 @@ function handleTestingMessage(message_event) { LogHTML(contents); else if (type === "SetCookie") SetCookie(contents); + else if (type === "EvalScript") + EvalScript(contents); } } diff --git a/ppapi/tests/test_input_event.cc b/ppapi/tests/test_input_event.cc index 49526db..cdd4939 100644 --- a/ppapi/tests/test_input_event.cc +++ b/ppapi/tests/test_input_event.cc @@ -52,8 +52,7 @@ TestInputEvent::~TestInputEvent() { "plugin.removeEventListener('message'," " plugin.wait_for_messages_handler);" "delete plugin.wait_for_messages_handler;"; - pp::Var exception; - instance_->ExecuteScript(js_code, &exception); + instance_->EvalScript(js_code); } bool TestInputEvent::Init() { @@ -94,9 +93,7 @@ bool TestInputEvent::Init() { "plugin.addEventListener('message', wait_for_messages_handler);" // Stash it on the plugin so we can remove it in the destructor. "plugin.wait_for_messages_handler = wait_for_messages_handler;"; - pp::Var exception; - instance_->ExecuteScript(js_code, &exception); - success = success && exception.is_undefined(); + instance_->EvalScript(js_code); return success; } diff --git a/ppapi/tests/test_post_message.cc b/ppapi/tests/test_post_message.cc index a86f310..665dad7 100644 --- a/ppapi/tests/test_post_message.cc +++ b/ppapi/tests/test_post_message.cc @@ -65,8 +65,7 @@ TestPostMessage::~TestPostMessage() { "plugin.removeEventListener('message'," " plugin.wait_for_messages_handler);" "delete plugin.wait_for_messages_handler;"; - pp::Var exception; - instance_->ExecuteScript(js_code, &exception); + instance_->EvalScript(js_code); } bool TestPostMessage::Init() { @@ -90,9 +89,7 @@ bool TestPostMessage::Init() { "plugin.addEventListener('message', wait_for_messages_handler);" // Stash it on the plugin so we can remove it in the destructor. "plugin.wait_for_messages_handler = wait_for_messages_handler;"; - pp::Var exception; - instance_->ExecuteScript(js_code, &exception); - success = success && exception.is_undefined(); + instance_->EvalScript(js_code); // Set up the JavaScript message event listener to echo the data part of the // message event back to us. @@ -149,20 +146,19 @@ bool TestPostMessage::AddEchoingListener(const std::string& expression) { // ClearListeners()). "if (!plugin.eventListeners) plugin.eventListeners = [];" "plugin.eventListeners.push(message_handler);"; - pp::Var exception; - instance_->ExecuteScript(js_code, &exception); - return exception.is_undefined(); + instance_->EvalScript(js_code); + return true; } bool TestPostMessage::ClearListeners() { - std::string js_code( - "var plugin = document.getElementById('plugin');" - "while (plugin.eventListeners.length) {" - " plugin.removeEventListener('message', plugin.eventListeners.pop());" - "}"); - pp::Var exception; - instance_->ExecuteScript(js_code, &exception); - return(exception.is_undefined()); + std::string js_code; + js_code += "var plugin = document.getElementById('plugin');" + "while (plugin.eventListeners.length) {" + " plugin.removeEventListener('message'," + " plugin.eventListeners.pop());" + "}"; + instance_->EvalScript(js_code); + return true; } int TestPostMessage::WaitForMessages() { diff --git a/ppapi/tests/testing_instance.cc b/ppapi/tests/testing_instance.cc index 056477d..88ef424 100644 --- a/ppapi/tests/testing_instance.cc +++ b/ppapi/tests/testing_instance.cc @@ -101,6 +101,12 @@ bool TestingInstance::HandleInputEvent(const pp::InputEvent& event) { return false; } +void TestingInstance::EvalScript(const std::string& script) { + std::string message("TESTING_MESSAGE:EvalScript:"); + message.append(script); + PostMessage(pp::Var(message)); +} + void TestingInstance::LogTest(const std::string& test_name, const std::string& error_message) { // Tell the browser we're still working. diff --git a/ppapi/tests/testing_instance.h b/ppapi/tests/testing_instance.h index 8f6b7b1..397c1c7 100644 --- a/ppapi/tests/testing_instance.h +++ b/ppapi/tests/testing_instance.h @@ -83,6 +83,9 @@ pp::InstancePrivate { return protocol_; } + // Posts a message to the test page to eval() the script. + void EvalScript(const std::string& script); + private: void ExecuteTests(int32_t unused); |