summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-06 12:38:06 +0100
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-06 12:41:05 +0100
commitfa6aa63f0d4e03e916590b6faf777618d7a675b0 (patch)
tree6c17217bc7b805fb3ceab2dd99203afa8d1f1b7a
parent50852bc739abb627a3ce2c2052867e81e1dbd0ec (diff)
downloadbrowser-poc-fa6aa63f0d4e03e916590b6faf777618d7a675b0.tar.gz
Added BrowserConfig class and tests
-rw-r--r--browser/browserconfig.cpp35
-rw-r--r--browser/browserconfig.h30
-rw-r--r--browser/unit-tests/browserview/testbrowser.cpp10
-rw-r--r--browser/unit-tests/browserview/testbrowser.h1
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();
};