summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard J. Moore <rich@kde.org>2014-05-05 16:42:14 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-06 16:35:56 +0200
commit9b1746c49912028c05683d0ce76af968e7ee96f8 (patch)
treead71edfcab90cb4786c0911c0f4c127e9807a928
parent1d6695451fb5716451b3ac9c05af11eff00f5864 (diff)
Add autotest for the QSslCertificate QIODevice constructor.
Change-Id: I92fa083665509932b75ff1037904a6f78a950fd6 Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org> Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
-rw-r--r--tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
index f5d65d960c..4f62076870 100644
--- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
@@ -81,6 +81,7 @@ private slots:
void emptyConstructor();
void constructor_data();
void constructor();
+ void constructor_device();
void constructingGarbage();
void copyAndAssign_data();
void copyAndAssign();
@@ -227,6 +228,47 @@ void tst_QSslCertificate::constructor()
QVERIFY(!certificate.isNull());
}
+void tst_QSslCertificate::constructor_device()
+{
+ if (!QSslSocket::supportsSsl())
+ return;
+
+ QFile f(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ bool ok = f.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert(&f);
+ QVERIFY(!cert.isNull());
+ f.close();
+
+ // Check opening a DER as a PEM fails
+ QFile f2(testDataDir + "/certificates/cert.der");
+ ok = f2.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert2(&f2);
+ QVERIFY(cert2.isNull());
+ f2.close();
+
+ // Check opening a DER as a DER works
+ QFile f3(testDataDir + "/certificates/cert.der");
+ ok = f3.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert3(&f3, QSsl::Der);
+ QVERIFY(!cert3.isNull());
+ f3.close();
+
+ // Check opening a PEM as a DER fails
+ QFile f4(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ ok = f4.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert4(&f4, QSsl::Der);
+ QVERIFY(cert4.isNull());
+ f4.close();
+}
+
void tst_QSslCertificate::constructingGarbage()
{
if (!QSslSocket::supportsSsl())