void PageTest::testJavaScriptConfirmWithLog() {
    connect(&page, SIGNAL(internalLog(QString, QString)), this, SLOT(internalLog(QString, QString)));
    internalLogCalled = false;

    page.mainFrame()->setHtml("<script>confirm('test')</script>");
    QVERIFY(internalLogCalled);
  }
 Runner::Runner() : QObject()
   , m_runs(0)
   , hasErrors(false)
   , usedConsole(false)
   , showColors(false)
   , isFinished(false)
   , didFail(false)
   , consoleNotUsedThisRun(false) {
   m_page.settings()->enablePersistentStorage();
   connect(&m_page, SIGNAL(loadFinished(bool)), this, SLOT(watch(bool)));
   connect(&m_page, SIGNAL(consoleLog(QString, int, QString)), this, SLOT(errorLog(QString, int, QString)));
   connect(&m_page, SIGNAL(internalLog(QString, QString)), this, SLOT(internalLog(QString, QString)));
   connect(m_page.mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(addJHW()));
 }
 bool Page::javaScriptConfirm(QWebFrame*, const QString&) {
   if (confirmResult) {
     emit internalLog("TODO", "jasmine-headless-webkit can't handle confirm() yet! You should mock window.confirm for now. Returning true.");
     return true;
   } else {
     confirmResult = true;
     return false;
   }
 }
void LogRing::log(const char* fmt, ...) {
    va_list argp;
    va_start(argp, fmt);
    internalLog(0, NULL, fmt, argp);
    va_end(argp);
}
void LogRing::log(int prio, const char* tag, const char* fmt, ...) {
    va_list argp;
    va_start(argp, fmt);
    internalLog(prio, tag, fmt, argp);
    va_end(argp);
}
 void Page::javaScriptAlert(QWebFrame*, const QString &msg) {
   emit internalLog("alert", msg);
 }