mirror of
https://github.com/thoughtbot/capybara-webkit
synced 2023-03-27 23:22:28 -04:00
Support multi-line prompt messages
This commit is contained in:
parent
2f9d76bfbb
commit
8a8d12af5c
5 changed files with 15 additions and 6 deletions
|
@ -59,7 +59,7 @@ module Capybara::Webkit
|
|||
end
|
||||
|
||||
def prompt_messages
|
||||
command("JavascriptPromptMessages").split("\n")
|
||||
JSON.parse(command("JavascriptPromptMessages"))
|
||||
end
|
||||
|
||||
def response_headers
|
||||
|
|
|
@ -700,6 +700,12 @@ describe Capybara::Webkit::Driver do
|
|||
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
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue