aboutsummaryrefslogtreecommitdiff
path: root/libcontextsubscriber
diff options
context:
space:
mode:
authorGergely Risko <gergely+context@risko.hu>2009-09-16 16:37:03 +0300
committerGergely Risko <gergely+context@risko.hu>2009-09-16 16:37:03 +0300
commitc55fe48f84dd44478532debf27baa5ecac4c9380 (patch)
tree981a3cd135a42ad2f4fa3e8843915f84d104c834 /libcontextsubscriber
parent97f304f084401c23db06de7e899230469f9c4c3b (diff)
libcontextsubscriber/unit-tests: cdbreader, cdbwriter update
Diffstat (limited to 'libcontextsubscriber')
-rw-r--r--libcontextsubscriber/unit-tests/Makefile.am2
-rw-r--r--libcontextsubscriber/unit-tests/cdbreader/.gitignore5
-rw-r--r--libcontextsubscriber/unit-tests/cdbreader/Makefile.am23
-rw-r--r--libcontextsubscriber/unit-tests/cdbreader/cdbreaderunittest.cpp86
-rw-r--r--libcontextsubscriber/unit-tests/cdbreader/test.cdbbin2199 -> 0 bytes
-rw-r--r--libcontextsubscriber/unit-tests/cdbwriter/.gitignore2
-rw-r--r--libcontextsubscriber/unit-tests/cdbwriter/Makefile.am4
-rw-r--r--libcontextsubscriber/unit-tests/cdbwriter/cdbwriterunittest.cpp85
8 files changed, 70 insertions, 137 deletions
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 <marius.vollmer@nokia.com>
- *
- * 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 <QtTest/QtTest>
-#include <QtCore>
-#include <stdlib.h>
-#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
--- a/libcontextsubscriber/unit-tests/cdbreader/test.cdb
+++ /dev/null
Binary files 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 <QtCore>
#include <fcntl.h>
#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<QString, QVariant> map;
+ map["fortytwo"] = 42;
+ map["fortytwo two times"] = 4242;
+ QList<QVariant> 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<QString, QVariant> map;
+ map["fortytwo"] = 42;
+ map["fortytwo two times"] = 4242;
+ QList<QVariant> 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);