diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-10-23 02:46:43 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-10-23 02:46:43 (GMT) |
commit | bb2b9362ced23ff2aae824ef001efe7a34b464cc (patch) | |
tree | 4e24e98b8d648c63f4dea134d99ea928ef37ed83 /tests | |
parent | db14623485396fd69839e519184b794775b65b01 (diff) | |
parent | 7bd52a15e03b5e8e83ec1f7ae957478ed9e0cde1 (diff) | |
download | Qt-bb2b9362ced23ff2aae824ef001efe7a34b464cc.zip Qt-bb2b9362ced23ff2aae824ef001efe7a34b464cc.tar.gz Qt-bb2b9362ced23ff2aae824ef001efe7a34b464cc.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Corrected build fail for autotests
QComboBox popup is shown in incorrect location with bottom CBA
QS60Style: The QComboBox/QSpinBox text color is not according to theme
Using TLS to store QThreadData on Symbian
Functions that are externally defined to QtOpenGL needs to be imported.
Added include for missing file for Symbian3
Support for clipboard between Qt and Symbian applications
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qclipboard/test/test.pro | 2 | ||||
-rw-r--r-- | tests/auto/qclipboard/tst_qclipboard.cpp | 82 |
2 files changed, 84 insertions, 0 deletions
diff --git a/tests/auto/qclipboard/test/test.pro b/tests/auto/qclipboard/test/test.pro index 0f8cad1..97b0c9c 100644 --- a/tests/auto/qclipboard/test/test.pro +++ b/tests/auto/qclipboard/test/test.pro @@ -17,6 +17,8 @@ wince*|symbian: { paster.path = paster symbian: { + LIBS += -lbafl -lestor -letext + load(data_caging_paths) rsc.sources = $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/copier.rsc rsc.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/paster.rsc diff --git a/tests/auto/qclipboard/tst_qclipboard.cpp b/tests/auto/qclipboard/tst_qclipboard.cpp index d1f3e86..2e0362c 100644 --- a/tests/auto/qclipboard/tst_qclipboard.cpp +++ b/tests/auto/qclipboard/tst_qclipboard.cpp @@ -47,6 +47,14 @@ #ifdef Q_WS_MAC #include <Carbon/Carbon.h> #endif +#ifdef Q_OS_SYMBIAN +#include "private/qcore_symbian_p.h" +#include "txtetext.h" +#include <baclipb.h> +#endif +#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS +#include "txtclipboard.h" +#endif //TESTED_CLASS= //TESTED_FILES= @@ -62,6 +70,10 @@ private slots: void testSignals(); void setMimeData(); void clearBeforeSetText(); +#ifdef Q_OS_SYMBIAN + void pasteCopySymbian(); + void copyPasteSymbian(); +#endif private: bool nativeClipboardWorking(); @@ -335,6 +347,76 @@ void tst_QClipboard::clearBeforeSetText() QCOMPARE(QApplication::clipboard()->text(), text); } +/* + Test that text copied from qt application + can be pasted with symbian clipboard +*/ +#ifdef Q_OS_SYMBIAN +// ### This test case only makes sense in symbian +void tst_QClipboard::pasteCopySymbian() +{ + if (!nativeClipboardWorking()) + QSKIP("Native clipboard not working in this setup", SkipAll); + const QString string("Test string symbian."); + QApplication::clipboard()->setText(string); + + const TInt KPlainTextBegin = 0; + RFs fs = qt_s60GetRFs(); + CClipboard* cb = CClipboard::NewForReadingLC(fs); + + CPlainText* text = CPlainText::NewL(); + CleanupStack::PushL(text); + TInt dataLength = text->PasteFromStoreL(cb->Store(), cb->StreamDictionary(), + KPlainTextBegin); + if (dataLength == 0) { + User::Leave(KErrNotFound); + } + HBufC* hBuf = HBufC::NewL(dataLength); + TPtr buf = hBuf->Des(); + text->Extract(buf, KPlainTextBegin, dataLength); + + QString storeString = qt_TDesC2QString(buf); + CleanupStack::PopAndDestroy(text); + CleanupStack::PopAndDestroy(cb); + + QCOMPARE(string, storeString); +} +#endif + +/* + Test that text copied to symbian clipboard + can be pasted to qt clipboard +*/ +#ifdef Q_OS_SYMBIAN +// ### This test case only makes sense in symbian +void tst_QClipboard::copyPasteSymbian() +{ + if (!nativeClipboardWorking()) + QSKIP("Native clipboard not working in this setup", SkipAll); + const QString string("Test string symbian."); + const TInt KPlainTextBegin = 0; + + RFs fs = qt_s60GetRFs(); + CClipboard* cb = CClipboard::NewForWritingLC(fs); + CStreamStore& store = cb->Store(); + CStreamDictionary& dict = cb->StreamDictionary(); + RStoreWriteStream symbianStream; + TStreamId symbianStId = symbianStream.CreateLC(cb->Store()); + + CPlainText* text = CPlainText::NewL(); + CleanupStack::PushL(text); + TPtrC textPtr(qt_QString2TPtrC(string)); + text->InsertL(KPlainTextBegin, textPtr); + text->CopyToStoreL(store, dict, KPlainTextBegin, textPtr.Length()); + CleanupStack::PopAndDestroy(text); + (cb->StreamDictionary()).AssignL(KClipboardUidTypePlainText, symbianStId); + cb->CommitL(); + CleanupStack::PopAndDestroy(2, cb); + + QCOMPARE(QApplication::clipboard()->text(), string); +} +#endif + QTEST_MAIN(tst_QClipboard) #include "tst_qclipboard.moc" |