Files
SingularityViewer/indra/llqtwebkit/autotests/llembeddedbrowserwindow/tst_llembeddedbrowserwindow.cpp
2012-09-08 02:03:07 -04:00

1028 lines
28 KiB
C++

/* Copyright (c) 2006-2010, Linden Research, Inc.
*
* LLQtWebKit Source Code
* The source code in this file ("Source Code") is provided by Linden Lab
* to you under the terms of the GNU General Public License, version 2.0
* ("GPL"), unless you have obtained a separate licensing agreement
* ("Other License"), formally executed by you and Linden Lab. Terms of
* the GPL can be found in GPL-license.txt in this distribution, or online at
* http://secondlifegrid.net/technology-programs/license-virtual-world/viewerlicensing/gplv2
*
* There are special exceptions to the terms and conditions of the GPL as
* it is applied to this Source Code. View the full text of the exception
* in the file FLOSS-exception.txt in this software distribution, or
* online at
* http://secondlifegrid.net/technology-programs/license-virtual-world/viewerlicensing/flossexception
*
* By copying, modifying or distributing this software, you acknowledge
* that you have read and understood your obligations described above,
* and agree to abide by those obligations.
*
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
* COMPLETENESS OR PERFORMANCE.
*/
#include <QtTest/QtTest>
#include "llembeddedbrowserwindow.h"
#include "llembeddedbrowser.h"
#ifndef QTRY_COMPARE
#define __TRY_TIMEOUT__ 10000
#define __TRY_STEP__ 50
#define __QTRY(__expression__, __functionToCall__) \
do { \
int __i = 0; \
while (!(__expression__) && __i < __TRY_TIMEOUT__) { \
QTest::qWait(__TRY_STEP__); \
__i += __TRY_STEP__; \
} \
__functionToCall__; \
} while(0)
#define QTRY_COMPARE(__expression__, __expected__) \
__QTRY((__expression__ == __expected__), QCOMPARE(__expression__, __expected__));
#define QTRY_VERIFY(__expression__) \
__QTRY(__expression__, QVERIFY(__expression__));
#endif // QTRY_COMPARE
class tst_LLEmbeddedBrowserWindow : public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void llembeddedbrowserwindow_data();
void llembeddedbrowserwindow();
void addObserver_data();
void addObserver();
void canNavigateBack_data();
void canNavigateBack();
void canNavigateForward_data();
void canNavigateForward();
void evaluateJavascript_data();
void evaluateJavascript();
void flipWindow_data();
void flipWindow();
void focusBrowser_data();
void focusBrowser();
void getBrowserDepth_data();
void getBrowserDepth();
void getBrowserHeight_data();
void getBrowserHeight();
void getBrowserRowSpan_data();
void getBrowserRowSpan();
void getBrowserWidth_data();
void getBrowserWidth();
void getClickLinkHref_data();
void getClickLinkHref();
void getClickLinkTarget_data();
void getClickLinkTarget();
void getCurrentUri_data();
void getCurrentUri();
void getNoFollowScheme_data();
void getNoFollowScheme();
void getPageBuffer_data();
void getPageBuffer();
void getPercentComplete_data();
void getPercentComplete();
void getStatusMsg_data();
void getStatusMsg();
void getWindowId_data();
void getWindowId();
void grabWindow_data();
void grabWindow();
void keyPress_data();
void keyPress();
void mouseDown_data();
void mouseDown();
void mouseLeftDoubleClick_data();
void mouseLeftDoubleClick();
void mouseMove_data();
void mouseMove();
void mouseUp_data();
void mouseUp();
void navigateBack_data();
void navigateBack();
void navigateForward_data();
void navigateForward();
void navigateReload_data();
void navigateReload();
void navigateStop_data();
void navigateStop();
void navigateTo_data();
void navigateTo();
void remObserver_data();
void remObserver();
void scrollByLines_data();
void scrollByLines();
void setBackgroundColor_data();
void setBackgroundColor();
void setCaretColor_data();
void setCaretColor();
void setEnabled_data();
void setEnabled();
void setNoFollowScheme_data();
void setNoFollowScheme();
void setParent_data();
void setParent();
void setSize_data();
void setSize();
void setWindowId_data();
void setWindowId();
void unicodeInput_data();
void unicodeInput();
};
// Subclass that exposes the protected functions.
class SubLLEmbeddedBrowserWindow : public LLEmbeddedBrowserWindow
{
public:
};
// This will be called before the first test function is executed.
// It is only called once.
void tst_LLEmbeddedBrowserWindow::initTestCase()
{
}
// This will be called after the last test function is executed.
// It is only called once.
void tst_LLEmbeddedBrowserWindow::cleanupTestCase()
{
}
// This will be called before each test function is executed.
void tst_LLEmbeddedBrowserWindow::init()
{
}
// This will be called after every test function.
void tst_LLEmbeddedBrowserWindow::cleanup()
{
}
void tst_LLEmbeddedBrowserWindow::llembeddedbrowserwindow_data()
{
}
void tst_LLEmbeddedBrowserWindow::llembeddedbrowserwindow()
{
SubLLEmbeddedBrowserWindow window;
QCOMPARE(window.addObserver((LLEmbeddedBrowserWindowObserver*)0), false);
QCOMPARE(window.canNavigateBack(), false);
QCOMPARE(window.canNavigateForward(), false);
QCOMPARE(window.evaluateJavascript(std::string()), std::string());
QCOMPARE(window.flipWindow(false), true);
window.focusBrowser(false);
QCOMPARE(window.getBrowserDepth(), (int16_t)4);
QCOMPARE(window.getBrowserHeight(), (int16_t)0);
QCOMPARE(window.getBrowserRowSpan(), (int32_t)0);
QCOMPARE(window.getBrowserWidth(), (int16_t)0);
QCOMPARE(window.getClickLinkHref(), std::string());
QCOMPARE(window.getClickLinkTarget(), std::string());
QCOMPARE(window.getCurrentUri(), std::string());
QCOMPARE(window.getNoFollowScheme(), std::string("secondlife"));
QCOMPARE(window.getPageBuffer(), (unsigned char*)0);
QCOMPARE(window.getPercentComplete(), (int16_t)0);
QCOMPARE(window.getStatusMsg(), std::string());
QCOMPARE(window.getWindowId(), -1);
QCOMPARE(window.grabWindow(-1, -1, -1, -1), (unsigned char*)0);
window.keyPress(0);
window.mouseDown(0, 0);
window.mouseLeftDoubleClick(0, 0);
window.mouseMove(0, 0);
window.mouseUp(0, 0);
window.navigateBack();
window.navigateForward();
window.navigateReload();
window.navigateStop();
QCOMPARE(window.navigateTo(std::string()), true);
QCOMPARE(window.remObserver((LLEmbeddedBrowserWindowObserver*)0), false);
window.scrollByLines(0);
window.setBackgroundColor(0, 0, 0);
window.setCaretColor(0, 0, 0);
window.setEnabled(false);
window.setNoFollowScheme(std::string());
window.setParent((LLEmbeddedBrowser*)0);
QCOMPARE(window.setSize(0, 0), true);
window.setWindowId(-1);
window.unicodeInput((uint32_t)0);
}
void tst_LLEmbeddedBrowserWindow::addObserver_data()
{
#if 0
QTest::addColumn<int>("observerCount");
QTest::addColumn<bool>("addObserver");
QTest::newRow("null") << 0 << false;
#endif
}
// public bool addObserver(LLEmbeddedBrowserWindowObserver* observer)
void tst_LLEmbeddedBrowserWindow::addObserver()
{
#if 0
QFETCH(int, observerCount);
QFETCH(bool, addObserver);
SubLLEmbeddedBrowserWindow window;
QCOMPARE(window.addObserver(observer), addObserver);
#endif
QSKIP("Test is same with remObserver.", SkipAll);
}
void tst_LLEmbeddedBrowserWindow::canNavigateBack_data()
{
#if 0
QTest::addColumn<bool>("canNavigateBack");
QTest::newRow("true") << true;
QTest::newRow("false") << false;
#endif
}
// public bool canNavigateBack()
void tst_LLEmbeddedBrowserWindow::canNavigateBack()
{
//QFETCH(bool, canNavigateForward);
SubLLEmbeddedBrowserWindow window;
window.setSize(800,600);
window.setParent(new LLEmbeddedBrowser());
QCOMPARE(window.canNavigateForward(), false);
window.navigateTo(std::string("http://www.google.com"));
QTest::qWait(__TRY_TIMEOUT__);
QCOMPARE(window.canNavigateBack(), false);
window.navigateTo(std::string("http://www.cnn.com"));
QTest::qWait(__TRY_TIMEOUT__);
QCOMPARE(window.canNavigateBack(), true);
window.navigateBack();
QTRY_COMPARE(window.canNavigateForward(), true);
window.navigateForward();
QTRY_COMPARE(window.canNavigateBack(), true);
}
void tst_LLEmbeddedBrowserWindow::canNavigateForward_data()
{
#if 0
QTest::addColumn<bool>("canNavigateForward");
QTest::newRow("true") << true;
QTest::newRow("false") << false;
#endif
}
// public bool canNavigateForward()
void tst_LLEmbeddedBrowserWindow::canNavigateForward()
{
QSKIP("Test is same with canNavigateBack().", SkipAll);
}
Q_DECLARE_METATYPE(std::string)
void tst_LLEmbeddedBrowserWindow::evaluateJavascript_data()
{
QTest::addColumn<std::string>("script");
QTest::addColumn<std::string>("evaluateJavascript");
QTest::newRow("null") << std::string() << std::string();
//QTest::newRow("valid") << std::string("alert(\"hey!\")") << std::string("alert(\"hey!\")");
}
// public std::string evaluateJavascript(std::string script)
void tst_LLEmbeddedBrowserWindow::evaluateJavascript()
{
QFETCH(std::string, script);
QFETCH(std::string, evaluateJavascript);
SubLLEmbeddedBrowserWindow window;
window.evaluateJavascript(script);
}
void tst_LLEmbeddedBrowserWindow::flipWindow_data()
{
QTest::addColumn<bool>("flip");
QTest::addColumn<bool>("flipWindow");
QTest::newRow("false") << false << true;
QTest::newRow("true") << true << true;
}
// public bool flipWindow(bool flip)
void tst_LLEmbeddedBrowserWindow::flipWindow()
{
QFETCH(bool, flip);
QFETCH(bool, flipWindow);
SubLLEmbeddedBrowserWindow window;
QCOMPARE(window.flipWindow(flip), flipWindow);
}
void tst_LLEmbeddedBrowserWindow::focusBrowser_data()
{
QTest::addColumn<bool>("focus_browser");
QTest::newRow("true") << true;
QTest::newRow("false") << false;
}
// public void focusBrowser(bool focus_browser)
void tst_LLEmbeddedBrowserWindow::focusBrowser()
{
QFETCH(bool, focus_browser);
SubLLEmbeddedBrowserWindow window;
window.focusBrowser(focus_browser);
}
Q_DECLARE_METATYPE(int16_t)
void tst_LLEmbeddedBrowserWindow::getBrowserDepth_data()
{
#if 0
QTest::addColumn<int16_t>("getBrowserDepth");
QTest::newRow("null") << int16_t();
#endif
}
// public int16_t getBrowserDepth()
void tst_LLEmbeddedBrowserWindow::getBrowserDepth()
{
//QFETCH(int16_t, getBrowserDepth);
SubLLEmbeddedBrowserWindow window;
QCOMPARE(window.getBrowserDepth(), int16_t(4));
}
void tst_LLEmbeddedBrowserWindow::getBrowserHeight_data()
{
#if 0
QTest::addColumn<int16_t>("getBrowserHeight");
QTest::newRow("null") << int16_t();
#endif
}
// public int16_t getBrowserHeight()
void tst_LLEmbeddedBrowserWindow::getBrowserHeight()
{
#if 0
QFETCH(int16_t, getBrowserHeight);
SubLLEmbeddedBrowserWindow window;
QCOMPARE(window.getBrowserHeight(), getBrowserHeight);
#endif
QSKIP("Test is same with setSize().", SkipAll);
}
Q_DECLARE_METATYPE(int32_t)
void tst_LLEmbeddedBrowserWindow::getBrowserRowSpan_data()
{
#if 0
QTest::addColumn<int32_t>("getBrowserRowSpan");
QTest::newRow("null") << int32_t();
#endif
}
// public int32_t getBrowserRowSpan()
void tst_LLEmbeddedBrowserWindow::getBrowserRowSpan()
{
#if 0
SubLLEmbeddedBrowserWindow window;
window.setSize(0, 0);
QCOMPARE(window.getBrowserWidth(), int16_t(0));
QCOMPARE(window.getBrowserRowSpan(), int32_t(0));
window.setSize(100, 100);
QCOMPARE(window.getBrowserWidth(), int16_t(100));
QCOMPARE(window.getBrowserRowSpan(), int32_t(400));
#endif
QSKIP("Test is same with setSize().", SkipAll);
}
void tst_LLEmbeddedBrowserWindow::getBrowserWidth_data()
{
#if 0
QTest::addColumn<int16_t>("getBrowserWidth");
QTest::newRow("null") << int16_t();
#endif
}
// public int16_t getBrowserWidth()
void tst_LLEmbeddedBrowserWindow::getBrowserWidth()
{
#if 0
//QFETCH(int16_t, getBrowserWidth);
SubLLEmbeddedBrowserWindow window;
window.setSize(0, 0);
QCOMPARE(window.getBrowserWidth(), int16_t(0));
QCOMPARE(window.getBrowserHeight(), int16_t(0));
window.setSize(100, 100);
QCOMPARE(window.getBrowserWidth(), int16_t(100));
QCOMPARE(window.getBrowserHeight(), int16_t(100));
#endif
QSKIP("Test is same with setSize().", SkipAll);
}
//Q_DECLARE_METATYPE(std::string const)
void tst_LLEmbeddedBrowserWindow::getClickLinkHref_data()
{
#if 0
QTest::addColumn<std::string const>("getClickLinkHref");
QTest::newRow("null") << std::string const();
#endif
}
// public std::string const getClickLinkHref()
void tst_LLEmbeddedBrowserWindow::getClickLinkHref()
{
//QFETCH(std::string const, getClickLinkHref);
SubLLEmbeddedBrowserWindow window;
window.getClickLinkHref();
}
void tst_LLEmbeddedBrowserWindow::getClickLinkTarget_data()
{
#if 0
QTest::addColumn<std::string const>("getClickLinkTarget");
QTest::newRow("null") << std::string const();
#endif
}
// public std::string const getClickLinkTarget()
void tst_LLEmbeddedBrowserWindow::getClickLinkTarget()
{
//QFETCH(std::string const, getClickLinkTarget);
SubLLEmbeddedBrowserWindow window;
window.getClickLinkTarget();
}
void tst_LLEmbeddedBrowserWindow::getCurrentUri_data()
{
#if 0
QTest::addColumn<std::string const>("getCurrentUri");
QTest::newRow("null") << std::string const();
#endif
}
// public std::string const getCurrentUri()
void tst_LLEmbeddedBrowserWindow::getCurrentUri()
{
//QFETCH(std::string const, getCurrentUri);
SubLLEmbeddedBrowserWindow window;
window.navigateTo(std::string("http://www.google.ca/"));
QTRY_COMPARE(QString::fromStdString(window.getCurrentUri()), QString::fromStdString(std::string("http://www.google.ca/")));
}
void tst_LLEmbeddedBrowserWindow::getNoFollowScheme_data()
{
#if 0
QTest::addColumn<std::string>("getNoFollowScheme");
QTest::newRow("FTP") << std::string("FTP");
#endif
}
// public std::string getNoFollowScheme()
void tst_LLEmbeddedBrowserWindow::getNoFollowScheme()
{
//QFETCH(std::string, getNoFollowScheme);
SubLLEmbeddedBrowserWindow window;
window.setNoFollowScheme("FTP://www.google.com");
QCOMPARE(window.getNoFollowScheme(), std::string("FTP"));
}
//Q_DECLARE_METATYPE(unsigned char*)
void tst_LLEmbeddedBrowserWindow::getPageBuffer_data()
{
#if 0
QTest::addColumn<unsigned char*>("getPageBuffer");
QTest::newRow("null") << unsigned char*();
#endif
}
// public unsigned char* getPageBuffer()
void tst_LLEmbeddedBrowserWindow::getPageBuffer()
{
//QFETCH(unsigned char*, getPageBuffer);
SubLLEmbeddedBrowserWindow window;
window.setSize(100,100);
window.grabWindow(0, 0, 100, 100);
QVERIFY(window.getPageBuffer() != NULL);
}
//Q_DECLARE_METATYPE(int16_t const)
void tst_LLEmbeddedBrowserWindow::getPercentComplete_data()
{
#if 0
QTest::addColumn<int16_t const>("getPercentComplete");
QTest::newRow("null") << int16_t const();
#endif
}
// public int16_t const getPercentComplete()
void tst_LLEmbeddedBrowserWindow::getPercentComplete()
{
//QFETCH(int16_t const, getPercentComplete);
SubLLEmbeddedBrowserWindow window;
window.navigateTo(std::string("http://www.google.com"));
QTest::qWait(1000);
QVERIFY(window.getPercentComplete() > 0);
}
void tst_LLEmbeddedBrowserWindow::getStatusMsg_data()
{
#if 0
QTest::addColumn<std::string const>("getStatusMsg");
QTest::newRow("null") << std::string const();
#endif
}
// public std::string const getStatusMsg()
void tst_LLEmbeddedBrowserWindow::getStatusMsg()
{
//QFETCH(std::string const, getStatusMsg);
SubLLEmbeddedBrowserWindow window;
window.navigateTo(std::string("http://www.google.com"));
QTest::qWait(1000);
window.navigateStop();
window.navigateTo(std::string("http://www.yahoo.com"));
// Seems status msg will always be null during navigating.
//QTRY_VERIFY(QString::fromStdString(window.getStatusMsg())!= NULL);
QSKIP("Status msg will always be null during navigating", SkipAll);
}
void tst_LLEmbeddedBrowserWindow::getWindowId_data()
{
#if 0
QTest::addColumn<int>("getWindowId");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
#endif
}
// public int getWindowId()
void tst_LLEmbeddedBrowserWindow::getWindowId()
{
//QFETCH(int, getWindowId);
SubLLEmbeddedBrowserWindow window;
window.setWindowId(0);
QCOMPARE(window.getWindowId(), 0);
window.setWindowId(100);
QCOMPARE(window.getWindowId(), 100);
}
void tst_LLEmbeddedBrowserWindow::grabWindow_data()
{
#if 0
QTest::addColumn<int>("x");
QTest::addColumn<int>("y");
QTest::addColumn<int>("width");
QTest::addColumn<int>("height");
QTest::addColumn<unsigned char*>("grabWindow");
QTest::newRow("null") << 0 << 0 << 0 << 0 << 0;
#endif
}
// public unsigned char* grabWindow(int x, int y, int width, int height)
void tst_LLEmbeddedBrowserWindow::grabWindow()
{
QSKIP("Test is same with getPageBuffer().", SkipAll);
}
void tst_LLEmbeddedBrowserWindow::keyPress_data()
{
QTest::addColumn<int16_t>("key_code");
QTest::newRow("null") << int16_t(0);
QTest::newRow("valid") << int16_t(0x0E);
}
// public void keyPress(int16_t key_code)
void tst_LLEmbeddedBrowserWindow::keyPress()
{
QFETCH(int16_t, key_code);
SubLLEmbeddedBrowserWindow window;
window.keyPress(key_code);
}
void tst_LLEmbeddedBrowserWindow::mouseDown_data()
{
QTest::addColumn<int16_t>("x");
QTest::addColumn<int16_t>("y");
QTest::newRow("0") << int16_t(0) << int16_t(0);
QTest::newRow("bignumber") << int16_t(100000) << int16_t(100000);
QTest::newRow("valid") << int16_t(100) << int16_t(100);
}
// public void mouseDown(int16_t x, int16_t y)
void tst_LLEmbeddedBrowserWindow::mouseDown()
{
QFETCH(int16_t, x);
QFETCH(int16_t, y);
SubLLEmbeddedBrowserWindow window;
window.mouseDown(x, y);
}
void tst_LLEmbeddedBrowserWindow::mouseLeftDoubleClick_data()
{
QTest::addColumn<int16_t>("x");
QTest::addColumn<int16_t>("y");
QTest::newRow("0") << int16_t(0) << int16_t(0);
QTest::newRow("bignumber") << int16_t(100000) << int16_t(100000);
QTest::newRow("valid") << int16_t(100) << int16_t(100);
}
// public void mouseLeftDoubleClick(int16_t x, int16_t y)
void tst_LLEmbeddedBrowserWindow::mouseLeftDoubleClick()
{
QFETCH(int16_t, x);
QFETCH(int16_t, y);
SubLLEmbeddedBrowserWindow window;
window.mouseLeftDoubleClick(x, y);
}
void tst_LLEmbeddedBrowserWindow::mouseMove_data()
{
QTest::addColumn<int16_t>("x");
QTest::addColumn<int16_t>("y");
QTest::newRow("0") << int16_t(0) << int16_t(0);
QTest::newRow("bignumber") << int16_t(100000) << int16_t(100000);
QTest::newRow("valid") << int16_t(100) << int16_t(100);
}
// public void mouseMove(int16_t x, int16_t y)
void tst_LLEmbeddedBrowserWindow::mouseMove()
{
QFETCH(int16_t, x);
QFETCH(int16_t, y);
SubLLEmbeddedBrowserWindow window;
window.mouseMove(x, y);
}
void tst_LLEmbeddedBrowserWindow::mouseUp_data()
{
QTest::addColumn<int16_t>("x");
QTest::addColumn<int16_t>("y");
QTest::newRow("0") << int16_t(0) << int16_t(0);
QTest::newRow("bignumber") << int16_t(100000) << int16_t(100000);
QTest::newRow("valid") << int16_t(100) << int16_t(100);
}
// public void mouseUp(int16_t x, int16_t y)
void tst_LLEmbeddedBrowserWindow::mouseUp()
{
QFETCH(int16_t, x);
QFETCH(int16_t, y);
SubLLEmbeddedBrowserWindow window;
window.mouseUp(x, y);
}
void tst_LLEmbeddedBrowserWindow::navigateBack_data()
{
#if 0
QTest::addColumn<int>("foo");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
#endif
}
// public void navigateBack()
void tst_LLEmbeddedBrowserWindow::navigateBack()
{
//QFETCH(int, foo);
SubLLEmbeddedBrowserWindow window;
window.navigateTo(std::string("http://www.google.ca/"));
QTest::qWait(__TRY_TIMEOUT__);
QCOMPARE(window.canNavigateForward(), false);
window.navigateTo(std::string("http://www.yahoo.com/"));
QTest::qWait(__TRY_TIMEOUT__);
QCOMPARE(window.canNavigateBack(), true);
window.navigateBack();
QTRY_COMPARE(QString::fromStdString((window.getCurrentUri())), QString("http://www.google.ca/"));
window.navigateBack();
QTRY_COMPARE(QString::fromStdString((window.getCurrentUri())), QString("http://www.google.ca/"));
}
void tst_LLEmbeddedBrowserWindow::navigateForward_data()
{
#if 0
QTest::addColumn<int>("foo");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
#endif
}
// public void navigateForward()
void tst_LLEmbeddedBrowserWindow::navigateForward()
{
// QFETCH(int, foo);
SubLLEmbeddedBrowserWindow window;
window.navigateTo(std::string("http://www.google.ca/"));
QTest::qWait(__TRY_TIMEOUT__);
QCOMPARE(window.canNavigateForward(), false);
window.navigateTo(std::string("http://www.yahoo.ca/"));
QTest::qWait(__TRY_TIMEOUT__);
QCOMPARE(window.canNavigateBack(), true);
window.navigateBack();
QTRY_COMPARE(QString::fromStdString((window.getCurrentUri())), QString("http://www.google.ca/"));
window.navigateForward();
QTRY_COMPARE(QString::fromStdString((window.getCurrentUri())), QString("http://ca.yahoo.com/"));
window.navigateForward();
QTRY_COMPARE(QString::fromStdString((window.getCurrentUri())), QString("http://ca.yahoo.com/"));
}
void tst_LLEmbeddedBrowserWindow::navigateReload_data()
{
#if 0
QTest::addColumn<int>("foo");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
#endif
}
// public void navigateReload()
void tst_LLEmbeddedBrowserWindow::navigateReload()
{
SubLLEmbeddedBrowserWindow window;
window.navigateTo(std::string("http://www.google.ca/"));
QTest::qWait(__TRY_TIMEOUT__);
window.navigateReload();
QTRY_COMPARE(QString::fromStdString((window.getCurrentUri())), QString("http://www.google.ca/"));
}
void tst_LLEmbeddedBrowserWindow::navigateStop_data()
{
#if 0
QTest::addColumn<int>("foo");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
#endif
}
// public void navigateStop()
void tst_LLEmbeddedBrowserWindow::navigateStop()
{
SubLLEmbeddedBrowserWindow window;
window.navigateTo("www.google.com");
window.navigateStop();
}
void tst_LLEmbeddedBrowserWindow::navigateTo_data()
{
QTest::addColumn<std::string>("uri");
QTest::addColumn<std::string>("navigateTo");
QTest::newRow("null") << std::string() << std::string();
QTest::newRow("valid") << std::string("http://www.google.ca/") << std::string("http://www.google.ca/");
}
// public bool navigateTo(std::string const uri)
void tst_LLEmbeddedBrowserWindow::navigateTo()
{
QSKIP("Test is same with navigateBack(), navigateForward().", SkipAll);
}
void tst_LLEmbeddedBrowserWindow::remObserver_data()
{
#if 0
QTest::addColumn<int>("observerCount");
QTest::addColumn<bool>("remObserver");
QTest::newRow("null") << 0 << false;
#endif
}
// public bool remObserver(LLEmbeddedBrowserWindowObserver* observer)
void tst_LLEmbeddedBrowserWindow::remObserver()
{
// QFETCH(int, observerCount);
// QFETCH(bool, remObserver);
SubLLEmbeddedBrowserWindow window;
LLEmbeddedBrowserWindowObserver* observer = new LLEmbeddedBrowserWindowObserver();
window.addObserver(observer);
QCOMPARE(window.getObserverNumber(), 1);
window.remObserver(observer);
QCOMPARE(window.getObserverNumber(), 0);
}
void tst_LLEmbeddedBrowserWindow::scrollByLines_data()
{
QTest::addColumn<int16_t>("lines");
QTest::newRow("null") << int16_t(0);
QTest::addColumn<int16_t>("lines");
QTest::newRow("100") << int16_t(100);
}
// public void scrollByLines(int16_t lines)
void tst_LLEmbeddedBrowserWindow::scrollByLines()
{
QFETCH(int16_t, lines);
SubLLEmbeddedBrowserWindow window;
window.scrollByLines(lines);
}
Q_DECLARE_METATYPE(uint8_t)
void tst_LLEmbeddedBrowserWindow::setBackgroundColor_data()
{
QTest::addColumn<uint8_t>("red");
QTest::addColumn<uint8_t>("green");
QTest::addColumn<uint8_t>("blue");
QTest::newRow("black") << uint8_t(0) << uint8_t(0) << uint8_t(0);
QTest::newRow("red") << uint8_t(255) << uint8_t(0) << uint8_t(0);
QTest::newRow("green") << uint8_t(0) << uint8_t(255) << uint8_t(0);
QTest::newRow("blue") << uint8_t(0) << uint8_t(0) << uint8_t(255);
}
// public void setBackgroundColor(uint8_t const red, uint8_t const green, uint8_t const blue)
void tst_LLEmbeddedBrowserWindow::setBackgroundColor()
{
QFETCH(uint8_t, red);
QFETCH(uint8_t, green);
QFETCH(uint8_t, blue);
SubLLEmbeddedBrowserWindow window;
window.setBackgroundColor(red, green, blue);
}
void tst_LLEmbeddedBrowserWindow::setCaretColor_data()
{
QTest::addColumn<uint8_t>("red");
QTest::addColumn<uint8_t>("green");
QTest::addColumn<uint8_t>("blue");
QTest::newRow("black") << uint8_t(0) << uint8_t(0) << uint8_t(0);
QTest::newRow("red") << uint8_t(255) << uint8_t(0) << uint8_t(0);
QTest::newRow("green") << uint8_t(0) << uint8_t(255) << uint8_t(0);
QTest::newRow("blue") << uint8_t(0) << uint8_t(0) << uint8_t(255);
}
// public void setCaretColor(uint8_t const red, uint8_t const green, uint8_t const blue)
void tst_LLEmbeddedBrowserWindow::setCaretColor()
{
QFETCH(uint8_t, red);
QFETCH(uint8_t, green);
QFETCH(uint8_t, blue);
SubLLEmbeddedBrowserWindow window;
window.setCaretColor(red, green, blue);
}
void tst_LLEmbeddedBrowserWindow::setEnabled_data()
{
QTest::addColumn<bool>("enabledIn");
QTest::newRow("true") << true;
QTest::newRow("false") << false;
}
// public void setEnabled(bool enabledIn)
void tst_LLEmbeddedBrowserWindow::setEnabled()
{
QFETCH(bool, enabledIn);
SubLLEmbeddedBrowserWindow window;
window.setEnabled(enabledIn);
}
void tst_LLEmbeddedBrowserWindow::setNoFollowScheme_data()
{
QTest::addColumn<std::string>("scheme");
QTest::addColumn<std::string>("result");
QTest::newRow("null") << std::string() << std::string();
QTest::newRow("valid") << std::string("ftp://www.google.com") << std::string("ftp");;
}
// public void setNoFollowScheme(std::string scheme)
void tst_LLEmbeddedBrowserWindow::setNoFollowScheme()
{
QFETCH(std::string, scheme);
QFETCH(std::string, result);
SubLLEmbeddedBrowserWindow window;
window.setNoFollowScheme(scheme);
QCOMPARE(window.getNoFollowScheme(), result);
}
void tst_LLEmbeddedBrowserWindow::setParent_data()
{
#if 0
QTest::addColumn<int>("parentCount");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
#endif
}
// public void setParent(LLEmbeddedBrowser* parent)
void tst_LLEmbeddedBrowserWindow::setParent()
{
#if 0
QFETCH(int, parentCount);
SubLLEmbeddedBrowserWindow window;
LLEmbeddedBrowser* parent = new LLEmbeddedBrowser();
window.setParent(parent);
#endif
QSKIP("Has been tested before.", SkipAll);
}
void tst_LLEmbeddedBrowserWindow::setSize_data()
{
QTest::addColumn<int16_t>("width");
QTest::addColumn<int16_t>("height");
QTest::addColumn<bool>("setSize");
QTest::newRow("null") << int16_t(0) << int16_t(0) << true;
QTest::newRow("valid") << int16_t(100) << int16_t(200) << true;
}
// public bool setSize(int16_t width, int16_t height)
void tst_LLEmbeddedBrowserWindow::setSize()
{
QFETCH(int16_t, width);
QFETCH(int16_t, height);
QFETCH(bool, setSize);
SubLLEmbeddedBrowserWindow window;
QCOMPARE(window.setSize(width, height), setSize);
window.grabWindow(0, 0, 800, 600);
QCOMPARE(window.getBrowserWidth(), width);
QCOMPARE(window.getBrowserHeight(), height);
QCOMPARE(window.getBrowserRowSpan(), (int32_t)width * 4);
}
void tst_LLEmbeddedBrowserWindow::setWindowId_data()
{
QTest::addColumn<int>("window_id");
QTest::newRow("0") << 0;
QTest::newRow("-1") << -1;
QTest::newRow("100") << 100;
}
// public void setWindowId(int window_id)
void tst_LLEmbeddedBrowserWindow::setWindowId()
{
QFETCH(int, window_id);
SubLLEmbeddedBrowserWindow window;
window.setWindowId(window_id);
QCOMPARE(window.getWindowId(), window_id);
}
Q_DECLARE_METATYPE(uint32_t)
void tst_LLEmbeddedBrowserWindow::unicodeInput_data()
{
QTest::addColumn<uint32_t>("unicode_char");
QTest::newRow("null") << uint32_t();
QTest::newRow("valid") << uint32_t(54);
}
// public void unicodeInput(uint32_t unicode_char)
void tst_LLEmbeddedBrowserWindow::unicodeInput()
{
QFETCH(uint32_t, unicode_char);
SubLLEmbeddedBrowserWindow window;
window.unicodeInput(unicode_char);
}
QTEST_MAIN(tst_LLEmbeddedBrowserWindow)
#include "tst_llembeddedbrowserwindow.moc"