Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2014-09-18 19:08:53 +0400
committerOlivier Goffart <ogoffart@woboq.com>2014-09-18 19:10:21 +0400
commit50e718b1e7a9c6119c6e52f58353ec76f3c1b908 (patch)
tree25108be71930b0c43a2c850d0ed44674bc3824cf /test
parentc3d41f0d48bdb00b9e5d1b5c9be37d896a089da1 (diff)
parentfc36e7eccf132eb0cda76ee41b2db85376d42c86 (diff)
Merge branch '1.7'
Conflicts: src/CMakeLists.txt src/cmd/cmd.cpp src/gui/folder.cpp src/gui/socketapi.cpp translations/mirall_ca.ts translations/mirall_cs.ts translations/mirall_de.ts translations/mirall_el.ts translations/mirall_en.ts translations/mirall_es.ts translations/mirall_es_AR.ts translations/mirall_et.ts translations/mirall_eu.ts translations/mirall_fa.ts translations/mirall_fi.ts translations/mirall_fr.ts translations/mirall_gl.ts translations/mirall_hu.ts translations/mirall_it.ts translations/mirall_ja.ts translations/mirall_nl.ts translations/mirall_pl.ts translations/mirall_pt.ts translations/mirall_pt_BR.ts translations/mirall_ru.ts translations/mirall_sk.ts translations/mirall_sl.ts translations/mirall_sv.ts translations/mirall_th.ts translations/mirall_tr.ts translations/mirall_uk.ts translations/mirall_zh_CN.ts translations/mirall_zh_TW.ts
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt1
-rw-r--r--test/testnetrcparser.h76
2 files changed, 77 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 597fb2e31..8c1ae5c93 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -26,5 +26,6 @@ if( UNIX AND NOT APPLE )
endif(UNIX AND NOT APPLE)
owncloud_add_test(CSyncSqlite "")
+owncloud_add_test(NetrcParser ../src/owncloudcmd/netrcparser.cpp)
diff --git a/test/testnetrcparser.h b/test/testnetrcparser.h
new file mode 100644
index 000000000..4ace249dc
--- /dev/null
+++ b/test/testnetrcparser.h
@@ -0,0 +1,76 @@
+/*
+ * This software is in the public domain, furnished "as is", without technical
+ * support, and with no warranty, express or implied, as to its usefulness for
+ * any purpose.
+ * */
+
+#ifndef MIRALL_INOTIFYWATCHER_H
+#define MIRALL_INOTIFYWATCHER_H
+
+#include <QtTest>
+
+#include "owncloudcmd/netrcparser.h"
+
+using namespace Mirall;
+
+namespace {
+
+const char testfileC[] = "netrctest";
+const char testfileWithDefaultC[] = "netrctestDefault";
+const char testfileEmptyC[] = "netrctestEmpty";
+
+}
+
+class TestNetrcParser : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void initTestCase() {
+ QFile netrc(testfileC);
+ QVERIFY(netrc.open(QIODevice::WriteOnly));
+ netrc.write("machine foo login bar password baz\n");
+ netrc.write("machine broken login bar2 dontbelonghere password baz2 extratokens dontcare andanother\n");
+ netrc.write("machine\nfunnysplit\tlogin bar3 password baz3\n");
+ QFile netrcWithDefault(testfileWithDefaultC);
+ QVERIFY(netrcWithDefault.open(QIODevice::WriteOnly));
+ netrcWithDefault.write("machine foo login bar password baz\n");
+ netrcWithDefault.write("default login user password pass\n");
+ QFile netrcEmpty(testfileEmptyC);
+ QVERIFY(netrcEmpty.open(QIODevice::WriteOnly));
+ }
+
+ void cleanupTestCase() {
+ QVERIFY(QFile::remove(testfileC));
+ QVERIFY(QFile::remove(testfileWithDefaultC));
+ QVERIFY(QFile::remove(testfileEmptyC));
+ }
+
+ void testValidNetrc() {
+ NetrcParser parser(testfileC);
+ QVERIFY(parser.parse());
+ QCOMPARE(parser.find("foo"), qMakePair(QString("bar"), QString("baz")));
+ QCOMPARE(parser.find("broken"), qMakePair(QString("bar2"), QString("baz2")));
+ QCOMPARE(parser.find("funnysplit"), qMakePair(QString("bar3"), QString("baz3")));
+ }
+
+ void testEmptyNetrc() {
+ NetrcParser parser(testfileEmptyC);
+ QVERIFY(!parser.parse());
+ QCOMPARE(parser.find("foo"), qMakePair(QString(), QString()));
+ }
+
+ void testValidNetrcWithDefault() {
+ NetrcParser parser(testfileWithDefaultC);
+ QVERIFY(parser.parse());
+ QCOMPARE(parser.find("foo"), qMakePair(QString("bar"), QString("baz")));
+ QCOMPARE(parser.find("dontknow"), qMakePair(QString("user"), QString("pass")));
+ }
+
+ void testInvalidNetrc() {
+ NetrcParser parser("/invalid");
+ QVERIFY(!parser.parse());
+ }
+};
+
+#endif