/* 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 #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("observerCount"); QTest::addColumn("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("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("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("script"); QTest::addColumn("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("flip"); QTest::addColumn("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("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("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("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("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("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("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("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("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("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("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("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("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("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("x"); QTest::addColumn("y"); QTest::addColumn("width"); QTest::addColumn("height"); QTest::addColumn("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("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("x"); QTest::addColumn("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("x"); QTest::addColumn("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("x"); QTest::addColumn("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("x"); QTest::addColumn("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("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("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("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("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("uri"); QTest::addColumn("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("observerCount"); QTest::addColumn("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("lines"); QTest::newRow("null") << int16_t(0); QTest::addColumn("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("red"); QTest::addColumn("green"); QTest::addColumn("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("red"); QTest::addColumn("green"); QTest::addColumn("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("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("scheme"); QTest::addColumn("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("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("width"); QTest::addColumn("height"); QTest::addColumn("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("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("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"