From 116442618b0cdc942e2eb69b48e82b35e4f7370f Mon Sep 17 00:00:00 2001 From: Aaron Seigo Date: Thu, 28 Apr 2011 15:19:42 +0200 Subject: [PATCH] test for Storage class --- tests/CMakeLists.txt | 7 ++++++ tests/storagetest.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++ tests/storagetest.h | 42 +++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 tests/storagetest.cpp create mode 100644 tests/storagetest.h diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d2ed1aebf..8f78ebb56 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -18,6 +18,13 @@ PLASMA_UNIT_TESTS( runnercontexttest configloadertest ) + +kde4_add_unit_test(storagetest TESTNAME plasma-storage storagetest.cpp ../private/storage.cpp) +target_link_libraries(storagetest ${QT_QTTEST_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY} ${KDE4_KIO_LIBS} ${KDE4_KDEUI_LIBS} plasma) +if(QT_QTOPENGL_FOUND) + target_link_libraries(storagetest ${QT_QTOPENGL_LIBRARY}) +endif(QT_QTOPENGL_FOUND) + if(QCA2_FOUND) target_link_libraries(plasmoidpackagetest ${QCA2_LIBRARIES}) endif(QCA2_FOUND) diff --git a/tests/storagetest.cpp b/tests/storagetest.cpp new file mode 100644 index 000000000..b1016d429 --- /dev/null +++ b/tests/storagetest.cpp @@ -0,0 +1,57 @@ +/******************************************************************************** +* Copyright 2010 by Martin Blumenstingl * +* * +* This library is free software; you can redistribute it and/or * +* modify it under the terms of the GNU Library General Public * +* License as published by the Free Software Foundation; either * +* version 2 of the License, or (at your option) any later version. * +* * +* This library is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * +* Library General Public License for more details. * +* * +* You should have received a copy of the GNU Library General Public License * +* along with this library; see the file COPYING.LIB. If not, write to * +* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * +* Boston, MA 02110-1301, USA. * +*********************************************************************************/ + +#include "storagetest.h" + +#include "../private/storage_p.h" + +void StorageTest::init() +{ + m_data.insert("String 1", "Fork"); + m_data.insert("String 2", "Spoon"); + m_data.insert("String 3", "Knife"); + m_data.insert("Int 1", 3141); + m_data.insert("Int 2", 60); + QByteArray bytes("yadda yadda yadda"); + m_data.insert("Binary Data", bytes); +} + +void StorageTest::store() +{ + Storage storage; + KConfigGroup op = storage.operationDescription("save"); + op.writeEntry("group", "Test"); + Plasma::ServiceJob *job = storage.startOperationCall(op); + StorageJob *storageJob = qobject_cast(job); + + QVERIFY(storageJob); + if (storageJob) { + storageJob->setData(m_data); + QVERIFY(storageJob->exec()); + QVERIFY(storageJob->result().toBool()); + } +} + +void StorageTest::retrieve() +{ + QCOMPARE(true, true); +} + +QTEST_KDEMAIN(StorageTest, NoGUI) + diff --git a/tests/storagetest.h b/tests/storagetest.h new file mode 100644 index 000000000..c5cd43496 --- /dev/null +++ b/tests/storagetest.h @@ -0,0 +1,42 @@ +/******************************************************************************** +* Copyright 2010 by Martin Blumenstingl * +* * +* This library is free software; you can redistribute it and/or * +* modify it under the terms of the GNU Library General Public * +* License as published by the Free Software Foundation; either * +* version 2 of the License, or (at your option) any later version. * +* * +* This library is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * +* Library General Public License for more details. * +* * +* You should have received a copy of the GNU Library General Public License * +* along with this library; see the file COPYING.LIB. If not, write to * +* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * +* Boston, MA 02110-1301, USA. * +*********************************************************************************/ + +#ifndef STORAGETEST_H +#define STORAGETEST_H + +#include + +class StorageTest : public QObject +{ + Q_OBJECT + +public Q_SLOTS: + void init(); + +private Q_SLOTS: + void store(); + void retrieve(); + + +private: + QVariantHash m_data; +}; + +#endif +