diff options
author | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-06 12:38:06 +0100 |
---|---|---|
committer | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-06 12:41:05 +0100 |
commit | fa6aa63f0d4e03e916590b6faf777618d7a675b0 (patch) | |
tree | 6c17217bc7b805fb3ceab2dd99203afa8d1f1b7a | |
parent | 50852bc739abb627a3ce2c2052867e81e1dbd0ec (diff) | |
download | browser-poc-fa6aa63f0d4e03e916590b6faf777618d7a675b0.tar.gz |
Added BrowserConfig class and tests
-rw-r--r-- | browser/browserconfig.cpp | 35 | ||||
-rw-r--r-- | browser/browserconfig.h | 30 | ||||
-rw-r--r-- | browser/unit-tests/browserview/testbrowser.cpp | 10 | ||||
-rw-r--r-- | browser/unit-tests/browserview/testbrowser.h | 1 |
4 files changed, 76 insertions, 0 deletions
diff --git a/browser/browserconfig.cpp b/browser/browserconfig.cpp new file mode 100644 index 0000000..89297a8 --- /dev/null +++ b/browser/browserconfig.cpp @@ -0,0 +1,35 @@ +/** + * Copyright (C) 2014, Pelagicore + * + * Author: Jonatan Palsson <jonatan.palsson@pelagicore.com> + * + * This file is part of the GENIVI project Browser Proof-Of-Concept + * For further information, see http://genivi.org/ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#include <QDebug> + +#include "browserconfig.h" + +template void BrowserConfig::setValue<int>(BrowserConfig::BrowserConfigKey, int); +template void BrowserConfig::setValue<QString>(BrowserConfig::BrowserConfigKey, QString); +template int BrowserConfig::getValue<int>(BrowserConfig::BrowserConfigKey); +template QString BrowserConfig::getValue<QString>(BrowserConfig::BrowserConfigKey); + +BrowserConfig::BrowserConfig() { + m_qsettings = new QSettings("browserpoc"); +} + +template<typename T> +T BrowserConfig::getValue(BrowserConfig::BrowserConfigKey key) { + return m_qsettings->value(QString(key)).value<T>(); +} + +template<typename T> +void BrowserConfig::setValue(BrowserConfig::BrowserConfigKey key, T value) { + m_qsettings->setValue(QString(key), value); + m_qsettings->sync(); +} diff --git a/browser/browserconfig.h b/browser/browserconfig.h new file mode 100644 index 0000000..c95c624 --- /dev/null +++ b/browser/browserconfig.h @@ -0,0 +1,30 @@ +/** + * Copyright (C) 2014, Pelagicore + * + * Author: Jonatan Palsson <jonatan.palsson@pelagicore.com> + * + * This file is part of the GENIVI project Browser Proof-Of-Concept + * For further information, see http://genivi.org/ + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#include <QObject> +#include <QSettings> + +class BrowserConfig : public QObject{ +Q_OBJECT +public: + enum BrowserConfigKey {CONFIG_CACHESIZE}; + BrowserConfig(); + + template<typename T> + T getValue(BrowserConfigKey); + + template<typename T> + void setValue(BrowserConfigKey, T); + +private: + QSettings *m_qsettings = NULL; +}; diff --git a/browser/unit-tests/browserview/testbrowser.cpp b/browser/unit-tests/browserview/testbrowser.cpp index a5b3a59..eaaa731 100644 --- a/browser/unit-tests/browserview/testbrowser.cpp +++ b/browser/unit-tests/browserview/testbrowser.cpp @@ -7,6 +7,7 @@ #include "testbrowser.h" #include "../../browserview.h" +#include "../../browserconfig.h" /////////////// Test cases /////////////// @@ -191,4 +192,13 @@ void TestBrowser::testCanGetFavicon () { QVERIFY(QFileInfo(fileName).size() > 0); } +void TestBrowser::testCanSetGetConfigParameter() { + BrowserConfig conf; + conf.setValue<int>(BrowserConfig::CONFIG_CACHESIZE, 1337); + QVERIFY(conf.getValue<int>(BrowserConfig::CONFIG_CACHESIZE) == 1337); + + conf.setValue<QString>(BrowserConfig::CONFIG_CACHESIZE, "1337"); + QVERIFY(conf.getValue<QString>(BrowserConfig::CONFIG_CACHESIZE).compare("1337") == 0); +} + QTEST_MAIN (TestBrowser); diff --git a/browser/unit-tests/browserview/testbrowser.h b/browser/unit-tests/browserview/testbrowser.h index b1e5014..4464876 100644 --- a/browser/unit-tests/browserview/testbrowser.h +++ b/browser/unit-tests/browserview/testbrowser.h @@ -16,4 +16,5 @@ private slots: void testGetUrl(); void testCanCreateScreenshot(); void testCanGetFavicon(); + void testCanSetGetConfigParameter(); }; |