Support multi-line confirmation messages
This commit is contained in:
parent
857a1a0383
commit
eabe88e543
|
@ -55,7 +55,7 @@ module Capybara::Webkit
|
||||||
end
|
end
|
||||||
|
|
||||||
def confirm_messages
|
def confirm_messages
|
||||||
command("JavascriptConfirmMessages").split("\n")
|
JSON.parse(command("JavascriptConfirmMessages"))
|
||||||
end
|
end
|
||||||
|
|
||||||
def prompt_messages
|
def prompt_messages
|
||||||
|
|
|
@ -615,6 +615,12 @@ describe Capybara::Webkit::Driver do
|
||||||
driver.find("//input").first.click
|
driver.find("//input").first.click
|
||||||
driver.console_messages.first[:message].should == "hello"
|
driver.console_messages.first[:message].should == "hello"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "supports multi-line confirmation messages" do
|
||||||
|
driver.execute_script("confirm('Hello\\nnewline')")
|
||||||
|
driver.confirm_messages.first.should == "Hello\nnewline"
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "on a prompt app" do
|
context "on a prompt app" do
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
#include "JavascriptConfirmMessages.h"
|
#include "JavascriptConfirmMessages.h"
|
||||||
#include "WebPage.h"
|
#include "WebPage.h"
|
||||||
#include "WebPageManager.h"
|
#include "WebPageManager.h"
|
||||||
|
#include "JsonSerializer.h"
|
||||||
|
|
||||||
JavascriptConfirmMessages::JavascriptConfirmMessages(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {}
|
JavascriptConfirmMessages::JavascriptConfirmMessages(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {}
|
||||||
|
|
||||||
void JavascriptConfirmMessages::start()
|
void JavascriptConfirmMessages::start()
|
||||||
{
|
{
|
||||||
emitFinished(true, page()->confirmMessages());
|
JsonSerializer serializer;
|
||||||
|
QByteArray json = serializer.serialize(page()->confirmMessages());
|
||||||
|
emitFinished(true, json);
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,8 +91,8 @@ QString WebPage::alertMessages() {
|
||||||
return m_alertMessages.join("\n");
|
return m_alertMessages.join("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WebPage::confirmMessages() {
|
QVariantList WebPage::confirmMessages() {
|
||||||
return m_confirmMessages.join("\n");
|
return m_confirmMessages;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WebPage::promptMessages() {
|
QString WebPage::promptMessages() {
|
||||||
|
|
|
@ -25,7 +25,7 @@ class WebPage : public QWebPage {
|
||||||
void setSkipImageLoading(bool skip);
|
void setSkipImageLoading(bool skip);
|
||||||
QVariantList consoleMessages();
|
QVariantList consoleMessages();
|
||||||
QString alertMessages();
|
QString alertMessages();
|
||||||
QString confirmMessages();
|
QVariantList confirmMessages();
|
||||||
QString promptMessages();
|
QString promptMessages();
|
||||||
void resetWindowSize();
|
void resetWindowSize();
|
||||||
QWebPage *createWindow(WebWindowType type);
|
QWebPage *createWindow(WebWindowType type);
|
||||||
|
@ -73,7 +73,7 @@ class WebPage : public QWebPage {
|
||||||
bool m_prompt;
|
bool m_prompt;
|
||||||
QVariantList m_consoleMessages;
|
QVariantList m_consoleMessages;
|
||||||
QStringList m_alertMessages;
|
QStringList m_alertMessages;
|
||||||
QStringList m_confirmMessages;
|
QVariantList m_confirmMessages;
|
||||||
QString m_prompt_text;
|
QString m_prompt_text;
|
||||||
QStringList m_promptMessages;
|
QStringList m_promptMessages;
|
||||||
QString m_uuid;
|
QString m_uuid;
|
||||||
|
|
Loading…
Reference in New Issue