From a6160dc890262bbf4a0504ec3a3df6556275c60e Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 30 Nov 2017 14:07:47 +0100 Subject: libconfig test --- test/config/config.qrc | 5 +++++ test/config/main.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ test/config/poi.cfg | 1 + test/test.qbs | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 test/config/config.qrc create mode 100644 test/config/main.cpp create mode 100644 test/config/poi.cfg create mode 100644 test/test.qbs (limited to 'test') 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 @@ + + + poi.cfg + + 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 . + ** + ******************************************************************************/ + +#include +#include "settings/configuration.h" + +#include + +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("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", + ] + + } +} -- cgit v1.2.1