Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Support multi-line prompt messages

  • Loading branch information...
commit 8a8d12af5cb644537f6220cd332cc916c4b1f5ef 1 parent 2f9d76b
Matthew Horan mhoran authored
2  lib/capybara/webkit/browser.rb
View
@@ -59,7 +59,7 @@ def confirm_messages
end
def prompt_messages
- command("JavascriptPromptMessages").split("\n")
+ JSON.parse(command("JavascriptPromptMessages"))
end
def response_headers
6 spec/driver_spec.rb
View
@@ -700,6 +700,12 @@ def visit(url, driver=driver)
driver.find("//input").first.click
driver.console_messages.first[:message].should == "goodbye"
end
+
+ it "supports multi-line prompt messages" do
+ driver.execute_script("prompt('Hello\\nnewline')")
+ driver.prompt_messages.first.should == "Hello\nnewline"
+ end
+
end
end
5 src/JavascriptPromptMessages.cpp
View
@@ -1,10 +1,13 @@
#include "JavascriptPromptMessages.h"
#include "WebPage.h"
#include "WebPageManager.h"
+#include "JsonSerializer.h"
JavascriptPromptMessages::JavascriptPromptMessages(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {}
void JavascriptPromptMessages::start()
{
- emitFinished(true, page()->promptMessages());
+ JsonSerializer serializer;
+ QByteArray json = serializer.serialize(page()->promptMessages());
+ emitFinished(true, json);
}
4 src/WebPage.cpp
View
@@ -95,8 +95,8 @@ QVariantList WebPage::confirmMessages() {
return m_confirmMessages;
}
-QString WebPage::promptMessages() {
- return m_promptMessages.join("\n");
+QVariantList WebPage::promptMessages() {
+ return m_promptMessages;
}
void WebPage::setUserAgent(QString userAgent) {
4 src/WebPage.h
View
@@ -26,7 +26,7 @@ class WebPage : public QWebPage {
QVariantList consoleMessages();
QVariantList alertMessages();
QVariantList confirmMessages();
- QString promptMessages();
+ QVariantList promptMessages();
void resetWindowSize();
QWebPage *createWindow(WebWindowType type);
QString uuid();
@@ -75,7 +75,7 @@ class WebPage : public QWebPage {
QVariantList m_alertMessages;
QVariantList m_confirmMessages;
QString m_prompt_text;
- QStringList m_promptMessages;
+ QVariantList m_promptMessages;
QString m_uuid;
WebPageManager *m_manager;
QString m_errorPageMessage;
Please sign in to comment.
Something went wrong with that request. Please try again.