aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2017-11-30 14:07:47 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2017-11-30 14:07:47 +0100
commita6160dc890262bbf4a0504ec3a3df6556275c60e (patch)
treec2a5daa22bdd4938a56c4dcb2bb65e574d8b767c /test
parentUpdated documentation (diff)
downloadsmolbote-a6160dc890262bbf4a0504ec3a3df6556275c60e.tar.xz
libconfig test
Diffstat (limited to 'test')
-rw-r--r--test/config/config.qrc5
-rw-r--r--test/config/main.cpp40
-rw-r--r--test/config/poi.cfg1
-rw-r--r--test/test.qbs38
4 files changed, 84 insertions, 0 deletions
diff --git a/test/config/config.qrc b/test/config/config.qrc
new file mode 100644
index 0000000..ab60a1b
--- /dev/null
+++ b/test/config/config.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/">
+ <file>poi.cfg</file>
+ </qresource>
+</RCC>
diff --git a/test/config/main.cpp b/test/config/main.cpp
new file mode 100644
index 0000000..34d2aec
--- /dev/null
+++ b/test/config/main.cpp
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ **
+ ** smolbote: yet another qute browser
+ ** Copyright (C) 2017 Xian Nox
+ **
+ ** This program is free software: you can redistribute it and/or modify
+ ** it under the terms of the GNU General Public License as published by
+ ** the Free Software Foundation, either version 3 of the License, or
+ ** (at your option) any later version.
+ **
+ ** This program 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 General Public License for more details.
+ **
+ ** You should have received a copy of the GNU General Public License
+ ** along with this program. If not, see <http://www.gnu.org/licenses/>.
+ **
+ ******************************************************************************/
+
+#include <iostream>
+#include "settings/configuration.h"
+
+#include <QFile>
+
+int main(int argc, char** argv)
+{
+ Configuration *settings = new Configuration();
+
+ // Use QFile so we can easily access qrc:
+ QFile defaultCfg(":/poi.cfg");
+ defaultCfg.open(QIODevice::ReadOnly);
+
+ std::cout << "UserCfg: " << (settings->readUserConfiguration("file.cfg") ? "true" : "false") << std::endl;
+ std::cout << "DefaultCfg: " << (settings->readDefaultConfiguration(defaultCfg.readAll().toStdString()) ? "true" : "false") << std::endl;
+
+ std::cout << "test = " << settings->value<std::string>("test").value_or("unknown") << std::endl;
+
+ return 0;
+}
diff --git a/test/config/poi.cfg b/test/config/poi.cfg
new file mode 100644
index 0000000..5fd6f29
--- /dev/null
+++ b/test/config/poi.cfg
@@ -0,0 +1 @@
+test = "value";
diff --git a/test/test.qbs b/test/test.qbs
new file mode 100644
index 0000000..3088a90
--- /dev/null
+++ b/test/test.qbs
@@ -0,0 +1,38 @@
+import qbs
+import qbs.Probes
+
+Project {
+ name: "Tests"
+
+ Probes.PkgConfigProbe {
+ id: libconfig
+ name: "libconfig++"
+ }
+
+ // References aren't needed because test.qbs is the last reference in smolbote.qbs
+// references: [
+// "../lib/settings/settings.qbs"
+// ]
+
+ CppApplication {
+ name: "configtest"
+
+ cpp.includePaths: ['../lib']
+ cpp.cxxLanguageVersion: "c++17"
+ cpp.cxxFlags: libconfig.cflags
+ cpp.linkerFlags: libconfig.libs
+
+ Depends {
+ name: "Qt"
+ versionAtLeast: "5.9.0"
+ submodules: ["core"]
+ }
+ Depends { name: "settings" }
+
+ files: [
+ "config/config.qrc",
+ "config/main.cpp",
+ ]
+
+ }
+}