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

TestUnresolvedServerAddress.cpp « TestUnresolvedServerAddress « tests « src - github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4ec0540c8247791a6f8473c489800faf26ca4bd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Copyright 2005-2020 The Mumble Developers. All rights reserved.
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.

#include <QtCore>
#include <QtTest>

#include "UnresolvedServerAddress.h"

class TestUnresolvedServerAddress : public QObject {
	Q_OBJECT
private slots:
	void defaultCtor();
	void isValid();
	void ctor();
	void caseInsensitive();
	void equals();
	void lessThan();
	void qhash();
};

void TestUnresolvedServerAddress::defaultCtor() {
	UnresolvedServerAddress unresolved;
	QVERIFY(unresolved.hostname.isEmpty());
	QVERIFY(unresolved.port == 0);
	QVERIFY(!unresolved.isValid());
}

void TestUnresolvedServerAddress::isValid() {
	UnresolvedServerAddress invalid1;
	QVERIFY(!invalid1.isValid());

	UnresolvedServerAddress invalid2(QString(), 0);
	QVERIFY(!invalid2.isValid());

	UnresolvedServerAddress invalid3(QString(), 64738);
	QVERIFY(!invalid3.isValid());

	UnresolvedServerAddress invalid4(QLatin1String("mumble.info"), 0);
	QVERIFY(!invalid4.isValid());

	UnresolvedServerAddress valid(QLatin1String("mumble.info"), 443);
	QVERIFY(valid.isValid());
}

void TestUnresolvedServerAddress::ctor() {
	UnresolvedServerAddress usa(QLatin1String("mumble.info"), 443);
	QCOMPARE(usa.hostname, QString::fromLatin1("mumble.info"));
	QCOMPARE(usa.port, static_cast< unsigned short >(443));
}

void TestUnresolvedServerAddress::caseInsensitive() {
	UnresolvedServerAddress a(QLatin1String("mumble.info"), 443);
	UnresolvedServerAddress b(QLatin1String("MUMBLE.INFO"), 443);
	UnresolvedServerAddress c(QLatin1String("MuMbLe.iNFo"), 443);

	QVERIFY(a == b);
	QVERIFY(a == c);
}

void TestUnresolvedServerAddress::equals() {
	UnresolvedServerAddress a1(QLatin1String("mumble.info"), 443);
	UnresolvedServerAddress a2(QLatin1String("mumble.info"), 443);
	UnresolvedServerAddress b(QLatin1String("mumble.info"), 64738);
	UnresolvedServerAddress c(QLatin1String("mumble.hive.no"), 80);

	QVERIFY(a1 == a2);
	QVERIFY(a1 != b);
	QVERIFY(a1 != c);
	QVERIFY(b != c);
}

void TestUnresolvedServerAddress::lessThan() {
	QList< UnresolvedServerAddress > testdata;

	testdata << UnresolvedServerAddress();
	testdata << UnresolvedServerAddress(QString(), 1);
	testdata << UnresolvedServerAddress(QString(), 999);
	testdata << UnresolvedServerAddress(QLatin1String("aaaaa"), 0);
	testdata << UnresolvedServerAddress(QLatin1String("baaaa"), 0);
	testdata << UnresolvedServerAddress(QLatin1String("baaaa"), 1);
	testdata << UnresolvedServerAddress(QLatin1String("maaaa"), 0);
	testdata << UnresolvedServerAddress(QLatin1String("maaaa"), 100);
	testdata << UnresolvedServerAddress(QLatin1String("maaaa"), 64738);
	testdata << UnresolvedServerAddress(QLatin1String("naaaa"), 64738);
	testdata << UnresolvedServerAddress(QLatin1String("zaaaa"), 0);
	testdata << UnresolvedServerAddress(QLatin1String("zaaaa"), 65535);

	QList< UnresolvedServerAddress > sorted(testdata);
	std::sort(sorted.begin(), sorted.end());

	int i = 0;
	foreach (const UnresolvedServerAddress &unresolved, sorted) {
		qWarning("%i -> %s:%i", i, qPrintable(unresolved.hostname), unresolved.port);
		i += 1;
	}

	QVERIFY(testdata == sorted);
}

void TestUnresolvedServerAddress::qhash() {
	UnresolvedServerAddress a1(QLatin1String("mumble.info"), 443);
	UnresolvedServerAddress a2(QLatin1String("mumble.info"), 443);
	UnresolvedServerAddress b(QLatin1String("mumble.info"), 64738);
	UnresolvedServerAddress c(QLatin1String("mumble.hive.no"), 80);

	QVERIFY(qHash(a1) == qHash(a2));
	QVERIFY(qHash(a1) != qHash(b));
	QVERIFY(qHash(a1) != qHash(c));
	QVERIFY(qHash(b) != qHash(c));
}

QTEST_MAIN(TestUnresolvedServerAddress)
#include "TestUnresolvedServerAddress.moc"