From c55fe48f84dd44478532debf27baa5ecac4c9380 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Wed, 16 Sep 2009 16:37:03 +0300 Subject: libcontextsubscriber/unit-tests: cdbreader, cdbwriter update --- libcontextsubscriber/unit-tests/Makefile.am | 2 +- .../unit-tests/cdbreader/.gitignore | 5 -- .../unit-tests/cdbreader/Makefile.am | 23 ------ .../unit-tests/cdbreader/cdbreaderunittest.cpp | 86 --------------------- libcontextsubscriber/unit-tests/cdbreader/test.cdb | Bin 2199 -> 0 bytes .../unit-tests/cdbwriter/.gitignore | 2 + .../unit-tests/cdbwriter/Makefile.am | 4 +- .../unit-tests/cdbwriter/cdbwriterunittest.cpp | 85 +++++++++++++++----- 8 files changed, 70 insertions(+), 137 deletions(-) delete mode 100644 libcontextsubscriber/unit-tests/cdbreader/.gitignore delete mode 100644 libcontextsubscriber/unit-tests/cdbreader/Makefile.am delete mode 100644 libcontextsubscriber/unit-tests/cdbreader/cdbreaderunittest.cpp delete mode 100644 libcontextsubscriber/unit-tests/cdbreader/test.cdb (limited to 'libcontextsubscriber') diff --git a/libcontextsubscriber/unit-tests/Makefile.am b/libcontextsubscriber/unit-tests/Makefile.am index 726ebfe4..6d34ab45 100644 --- a/libcontextsubscriber/unit-tests/Makefile.am +++ b/libcontextsubscriber/unit-tests/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRSTESTS = provider propertyhandle handlesignalrouter cdbreader \ +SUBDIRSTESTS = provider propertyhandle handlesignalrouter \ cdbwriter contextregistryinfo-xml-static \ contextpropertyinfo-xml-static contextregistryinfo-cdb-static \ contextpropertyinfo-cdb-static contextregistryinfo-cdb-dynamic \ diff --git a/libcontextsubscriber/unit-tests/cdbreader/.gitignore b/libcontextsubscriber/unit-tests/cdbreader/.gitignore deleted file mode 100644 index 2d451786..00000000 --- a/libcontextsubscriber/unit-tests/cdbreader/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -cdbreader.cpp -cdbreader.h -logging.cpp -logging.h -loggingfeatures.h diff --git a/libcontextsubscriber/unit-tests/cdbreader/Makefile.am b/libcontextsubscriber/unit-tests/cdbreader/Makefile.am deleted file mode 100644 index 2cffd560..00000000 --- a/libcontextsubscriber/unit-tests/cdbreader/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -check_PROGRAMS = cdbreaderunittest - -# test's sources -cdbreaderunittest_SOURCES = cdbreaderunittest.cpp - -COVERAGE_FILES = cdbreader.cpp -EXTRA_DIST = test.cdb - -# do the testing, coverage, etc. stuff -# tests.am is using +=, so we have to set a value here for these four always -AM_CXXFLAGS = '-I$(srcdir)/../util/' -AM_LDFLAGS = $(CDB_LIBS) -FROM_SOURCE = cdbreader.cpp cdbreader.h loggingfeatures.h # copy these files from the real source -FROM_SOURCE_DIR = $(srcdir)/../../src -LDADD = -include $(top_srcdir)/am/tests.am - -nodist_cdbreaderunittest_SOURCES = mocs.cpp -QT_TOMOC = $(filter %.h, $(cdbreaderunittest_SOURCES) $(FROM_SOURCE)) -include $(top_srcdir)/am/qt.am - -# when MOCing from .cpp file, you also has to help the dependency tracker -cdbreaderunittest.o: cdbreaderunittest.moc diff --git a/libcontextsubscriber/unit-tests/cdbreader/cdbreaderunittest.cpp b/libcontextsubscriber/unit-tests/cdbreader/cdbreaderunittest.cpp deleted file mode 100644 index 0d48a5cd..00000000 --- a/libcontextsubscriber/unit-tests/cdbreader/cdbreaderunittest.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Nokia Corporation. - * - * Contact: Marius Vollmer - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - */ - -#include -#include -#include -#include "cdbreader.h" -#include "fileutils.h" - -class CDBReaderUnitTest : public QObject -{ - Q_OBJECT - -private slots: - void basicCreation(); - void doesNotExist(); - void readingNotPresent(); - void readingFromBad(); -}; - -void CDBReaderUnitTest::basicCreation() -{ - CDBReader reader(LOCAL_FILE("test.cdb")); - QCOMPARE(reader.isReadable(), true); - QVERIFY(reader.fileDescriptor() > 0); - - QCOMPARE(reader.valueForKey("KEY1"), QString("KEY1Value")); - - QStringList list = reader.valuesForKey("KEYS"); - QCOMPARE(list.size(), 3); - - QCOMPARE(list.at(0), QString("KEYSValue1")); - QCOMPARE(list.at(1), QString("KEYSValue2")); - QCOMPARE(list.at(2), QString("KEYSValue3")); - - reader.close(); -} - -void CDBReaderUnitTest::doesNotExist() -{ - CDBReader reader("/usr/test.cdb"); - QCOMPARE(reader.isReadable(), false); - reader.close(); -} - -void CDBReaderUnitTest::readingFromBad() -{ - CDBReader reader("/usr/test.cdb"); - QCOMPARE(reader.isReadable(), false); - QVERIFY(reader.fileDescriptor() <= 0); - - QString v = reader.valueForKey("SOMETHING"); - QCOMPARE(v, QString()); -} - -void CDBReaderUnitTest::readingNotPresent() -{ - CDBReader reader(LOCAL_FILE("test.cdb")); - QCOMPARE(reader.isReadable(), true); - - QCOMPARE(reader.valueForKey("DOESNOTEXIST"), QString("")); - - QStringList list = reader.valuesForKey("DOESNOTEXIST"); - QCOMPARE(list.size(), 0); -} - -#include "cdbreaderunittest.moc" -QTEST_MAIN(CDBReaderUnitTest); diff --git a/libcontextsubscriber/unit-tests/cdbreader/test.cdb b/libcontextsubscriber/unit-tests/cdbreader/test.cdb deleted file mode 100644 index 73bdc8cd..00000000 Binary files a/libcontextsubscriber/unit-tests/cdbreader/test.cdb and /dev/null differ diff --git a/libcontextsubscriber/unit-tests/cdbwriter/.gitignore b/libcontextsubscriber/unit-tests/cdbwriter/.gitignore index 465ae61d..bda91efe 100644 --- a/libcontextsubscriber/unit-tests/cdbwriter/.gitignore +++ b/libcontextsubscriber/unit-tests/cdbwriter/.gitignore @@ -1,3 +1,5 @@ +cdbreader.cpp +cdbreader.h cdbwriter.cpp cdbwriter.h logging.cpp diff --git a/libcontextsubscriber/unit-tests/cdbwriter/Makefile.am b/libcontextsubscriber/unit-tests/cdbwriter/Makefile.am index 1f960842..05a81db9 100644 --- a/libcontextsubscriber/unit-tests/cdbwriter/Makefile.am +++ b/libcontextsubscriber/unit-tests/cdbwriter/Makefile.am @@ -3,13 +3,13 @@ check_PROGRAMS = cdbwriterunittest # test's sources cdbwriterunittest_SOURCES = cdbwriterunittest.cpp -COVERAGE_FILES = cdbwriter.cpp +COVERAGE_FILES = cdbwriter.cpp cdbreader.cpp # do the testing, coverage, etc. stuff # tests.am is using +=, so we have to set a value here for these four always AM_CXXFLAGS = '-I$(srcdir)/../util/' AM_LDFLAGS = $(CDB_LIBS) -FROM_SOURCE = cdbwriter.cpp cdbwriter.h loggingfeatures.h # copy these files from the real source +FROM_SOURCE = cdbreader.h cdbreader.cpp cdbwriter.cpp cdbwriter.h loggingfeatures.h # copy these files from the real source FROM_SOURCE_DIR = $(srcdir)/../../src LDADD = include $(top_srcdir)/am/tests.am diff --git a/libcontextsubscriber/unit-tests/cdbwriter/cdbwriterunittest.cpp b/libcontextsubscriber/unit-tests/cdbwriter/cdbwriterunittest.cpp index 8c745e7c..da25b09e 100644 --- a/libcontextsubscriber/unit-tests/cdbwriter/cdbwriterunittest.cpp +++ b/libcontextsubscriber/unit-tests/cdbwriter/cdbwriterunittest.cpp @@ -23,22 +23,24 @@ #include #include #include "cdbwriter.h" +#include "cdbreader.h" #include "fileutils.h" -class CDBWriterUnitTest : public QObject +class CDBUnitTest : public QObject { Q_OBJECT private slots: - void basicCreation(); - void noPermissions(); + void creation(); void cleanupTestCase(); void writingToBad(); void createWithFileDescriptor(); void createWithBadFileDescriptor(); + void reading(); + void readingFromBad(); }; -void CDBWriterUnitTest::basicCreation() +void CDBUnitTest::creation() { CDBWriter writer("test.cdb"); QCOMPARE(writer.isWritable(), true); @@ -47,21 +49,27 @@ void CDBWriterUnitTest::basicCreation() writer.add("KEYS", "KEYSValue1"); writer.add("KEYS", "KEYSValue2"); writer.add("KEYS", "KEYSValue3"); + writer.insert("KEYS", "doesn't get into"); - writer.add("KEY1", "KEY1Value"); - writer.close(); -} + writer.add("KEY1", "KEY1Value wrong"); + writer.replace("KEY1", "KEY1Value"); -void CDBWriterUnitTest::noPermissions() -{ - CDBWriter writer("/usr/test.cdb"); - QCOMPARE(writer.isWritable(), false); + QVariantList complex; + QMap map; + map["fortytwo"] = 42; + map["fortytwo two times"] = 4242; + QList list; + list << 24.24; + list << 42.42; + complex << QVariant("test") << QVariant(map) << QVariant(list); + + writer.add("COMPLEX", complex); writer.close(); } -void CDBWriterUnitTest::writingToBad() +void CDBUnitTest::writingToBad() { - CDBWriter writer("/usr/test.cdb"); + CDBWriter writer("/proc/test.cdb"); QCOMPARE(writer.isWritable(), false); QVERIFY(writer.fileDescriptor() <= 0); @@ -69,28 +77,65 @@ void CDBWriterUnitTest::writingToBad() writer.close(); } -void CDBWriterUnitTest::createWithFileDescriptor() +void CDBUnitTest::createWithFileDescriptor() { int fd = open("test-fdo.cdb", O_RDWR | O_CREAT, 0644); CDBWriter writer(fd); - + QCOMPARE(writer.isWritable(), true); } -void CDBWriterUnitTest::createWithBadFileDescriptor() +void CDBUnitTest::createWithBadFileDescriptor() { int fd = open("/usr/test/something/database.cdb", O_RDWR | O_CREAT, 0644); CDBWriter writer(fd); - + QCOMPARE(writer.isWritable(), false); } -void CDBWriterUnitTest::cleanupTestCase() +void CDBUnitTest::readingFromBad() +{ + CDBReader reader("/proc/test.cdb"); + QCOMPARE(reader.isReadable(), false); + QVERIFY(reader.fileDescriptor() <= 0); + QVariant v = reader.valueForKey("SOMETHING"); + QCOMPARE(v, QVariant()); +} + +void CDBUnitTest::reading() +{ + CDBReader reader("test.cdb"); + QCOMPARE(reader.isReadable(), true); + QVERIFY(reader.fileDescriptor() > 0); + + QCOMPARE(reader.valueForKey("KEY1"), QVariant("KEY1Value")); + + QVariantList reslist = reader.valuesForKey("KEYS"); + QCOMPARE(reslist.size(), 3); + + QCOMPARE(reslist.at(0), QVariant("KEYSValue1")); + QCOMPARE(reslist.at(1), QVariant("KEYSValue2")); + QCOMPARE(reslist.at(2), QVariant("KEYSValue3")); + + QCOMPARE(QVariantList() << "KEY1Value", reader.valuesForKey("KEY1")); + + QVariantList complex; + QMap map; + map["fortytwo"] = 42; + map["fortytwo two times"] = 4242; + QList list; + list << 24.24; + list << 42.42; + complex << QVariant("test") << QVariant(map) << QVariant(list); + + QCOMPARE(QVariant(complex), reader.valuesForKey("COMPLEX")[0]); +} + +void CDBUnitTest::cleanupTestCase() { QFile::remove("test.cdb"); QFile::remove("test-fdo.cdb"); } - #include "cdbwriterunittest.moc" -QTEST_MAIN(CDBWriterUnitTest); +QTEST_MAIN(CDBUnitTest); -- cgit v1.2.3