diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-11-30 14:07:47 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-11-30 14:07:47 +0100 |
commit | a6160dc890262bbf4a0504ec3a3df6556275c60e (patch) | |
tree | c2a5daa22bdd4938a56c4dcb2bb65e574d8b767c /test | |
parent | Updated documentation (diff) | |
download | smolbote-a6160dc890262bbf4a0504ec3a3df6556275c60e.tar.xz |
libconfig test
Diffstat (limited to 'test')
-rw-r--r-- | test/config/config.qrc | 5 | ||||
-rw-r--r-- | test/config/main.cpp | 40 | ||||
-rw-r--r-- | test/config/poi.cfg | 1 | ||||
-rw-r--r-- | test/test.qbs | 38 |
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", + ] + + } +} |