[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kparts/tests
From: David Faure <faure () kde ! org>
Date: 2007-08-13 23:33:27
Message-ID: 1187048007.629812.13945.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 699719 by dfaure:
unit test openUrl/closeUrl behavior wrt OpenUrlArguments
M +1 -0 CMakeLists.txt
M +45 -2 parttest.cpp
M +2 -0 parttest.h
--- trunk/KDE/kdelibs/kparts/tests/CMakeLists.txt #699718:699719
@@ -78,6 +78,7 @@
FOREACH(_testname ${ARGN})
kde4_add_test_executable(${_testname} ${_testname}.cpp)
target_link_libraries(${_testname} ${KDE4_KPARTS_LIBS} \
${QT_QTTEST_LIBRARY}) + set_target_properties(${_testname} PROPERTIES \
COMPILE_FLAGS -DKDESRCDIR="\\"${CMAKE_CURRENT_SOURCE_DIR}\\"") ENDFOREACH(_testname)
ENDMACRO(KPARTS_EXECUTABLE_TESTS)
--- trunk/KDE/kdelibs/kparts/tests/parttest.cpp #699718:699719
@@ -24,13 +24,23 @@
QTEST_KDEMAIN( PartTest, GUI )
-class TestPart : public KParts::Part
+class TestPart : public KParts::ReadOnlyPart
{
public:
TestPart(QObject* parent, QWidget* parentWidget)
- : KParts::Part(parent) {
+ : KParts::ReadOnlyPart(parent),
+ m_openFileCalled(false) {
setWidget(new QWidget(parentWidget));
}
+
+ bool openFileCalled() const { return m_openFileCalled; }
+protected:
+ /*reimp*/ bool openFile() {
+ m_openFileCalled = true;
+ return true;
+ }
+private:
+ bool m_openFileCalled;
};
void PartTest::testAutoDeletePart()
@@ -73,4 +83,37 @@
delete widget;
}
+// There is no operator== in OpenUrlArguments because it's only useful in unit tests
+static bool compareArgs(const KParts::OpenUrlArguments& arg1,
+ const KParts::OpenUrlArguments& arg2)
+{
+ return arg1.mimeType() == arg2.mimeType() &&
+ arg1.xOffset() == arg2.xOffset() &&
+ arg1.yOffset() == arg2.yOffset() &&
+ arg1.reload() == arg2.reload();
+}
+
+void PartTest::testOpenUrlArguments()
+{
+ TestPart* part = new TestPart(0, 0);
+ QVERIFY(part->closeUrl()); // nothing to do, no error
+ QVERIFY(part->arguments().mimeType().isEmpty());
+ KParts::OpenUrlArguments args;
+ args.setMimeType("application/xml");
+ args.setXOffset(50);
+ args.setYOffset(10);
+ args.setReload(true);
+ part->setArguments(args);
+ QVERIFY(compareArgs(args, part->arguments()));
+ part->openUrl(KUrl(KDESRCDIR "/parttest.cpp"));
+ QVERIFY(part->openFileCalled());
+ QVERIFY(compareArgs(args, part->arguments()));
+
+ // Explicit call to closeUrl: arguments are cleared
+ part->closeUrl();
+ QVERIFY(part->arguments().mimeType().isEmpty());
+
+ delete part;
+}
+
#include "parttest.moc"
--- trunk/KDE/kdelibs/kparts/tests/parttest.h #699718:699719
@@ -30,6 +30,8 @@
void testAutoDeleteWidget();
void testNoAutoDeletePart();
void testNoAutoDeleteWidget();
+
+ void testOpenUrlArguments();
};
#endif /* PARTTEST_H */
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic