Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F34329078
classifytest.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
4 KB
Subscribers
None
classifytest.cpp
View Options
/*
This file is part of libkleopatra's test suite.
SPDX-FileCopyrightText: 2023 g10 Code GmbH
SPDX-FileContributor: Carl Schwan <carl@carlschwan.eu>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include
<Libkleo/Classify>
#include
<QTemporaryDir>
#include
<QTemporaryFile>
#include
<QTest>
class
ClassifyTest
:
public
QObject
{
Q_OBJECT
private
Q_SLOTS
:
void
initTestCase
()
{
}
void
cleanupTestCase
()
{
}
void
identifyFileName
()
{
QTemporaryDir
dir
;
const
auto
fileName
=
dir
.
filePath
(
QStringLiteral
(
"msg.asc"
));
const
auto
fileName1
=
dir
.
filePath
(
QStringLiteral
(
"msg(1).asc"
));
{
QFile
asc
(
fileName
);
QVERIFY
(
asc
.
open
(
QIODevice
::
WriteOnly
));
QFile
asc1
(
fileName1
);
QVERIFY
(
asc1
.
open
(
QIODevice
::
WriteOnly
));
}
QVERIFY
(
Kleo
::
isMimeFile
(
Kleo
::
classify
(
fileName
)));
QVERIFY
(
Kleo
::
isMimeFile
(
fileName1
));
}
void
identifyMimeFileExtensionTest
()
{
QTemporaryFile
mbox
;
mbox
.
setFileTemplate
(
"XXXXXX.mbox"
);
QVERIFY
(
mbox
.
open
());
QVERIFY
(
Kleo
::
mayBeMimeFile
(
Kleo
::
classify
(
mbox
.
fileName
())));
QTemporaryFile
eml
;
eml
.
setFileTemplate
(
"XXXXXX.eml"
);
QVERIFY
(
eml
.
open
());
QVERIFY
(
Kleo
::
mayBeMimeFile
(
eml
.
fileName
()));
QCOMPARE
(
QStringLiteral
(
"Ascii, MimeFile"
),
Kleo
::
printableClassification
(
Kleo
::
classify
(
eml
.
fileName
())));
}
void
identifyCertificateStoreExtensionTest
()
{
QTemporaryFile
crl
;
crl
.
setFileTemplate
(
"XXXXXX.crl"
);
QVERIFY
(
crl
.
open
());
QVERIFY
(
Kleo
::
isCertificateRevocationList
(
crl
.
fileName
()));
}
void
findSignaturesTest
()
{
QTemporaryFile
sig
;
sig
.
setFileTemplate
(
"XXXXXX.sig"
);
QVERIFY
(
sig
.
open
());
QFileInfo
fi
(
sig
.
fileName
());
const
auto
signatures
=
Kleo
::
findSignatures
(
fi
.
baseName
());
QCOMPARE
(
1
,
signatures
.
count
());
QCOMPARE
(
fi
.
baseName
()
+
QStringLiteral
(
".sig"
),
signatures
[
0
]);
}
void
findOutputFileNameNotFoundTest
()
{
QTemporaryFile
unknown
;
unknown
.
setFileTemplate
(
"XXXXXX.unknown"
);
QVERIFY
(
unknown
.
open
());
QCOMPARE
(
unknown
.
fileName
()
+
QStringLiteral
(
".out"
),
Kleo
::
outputFileName
(
unknown
.
fileName
()));
}
void
findOutputFileNameTest
()
{
QTemporaryFile
sig
;
sig
.
setFileTemplate
(
"XXXXXX.sig"
);
QVERIFY
(
sig
.
open
());
QFileInfo
fi
(
sig
.
fileName
());
QCOMPARE
(
fi
.
path
()
+
QLatin1Char
(
'/'
)
+
fi
.
baseName
(),
Kleo
::
outputFileName
(
sig
.
fileName
()));
}
void
test_outputFileExtension
()
{
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
CipherText
|
Kleo
::
Class
::
Binary
,
false
),
QStringLiteral
(
"gpg"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
CipherText
|
Kleo
::
Class
::
Binary
,
true
),
QStringLiteral
(
"pgp"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
CipherText
|
Kleo
::
Class
::
Ascii
,
false
),
QStringLiteral
(
"asc"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
CipherText
|
Kleo
::
Class
::
Ascii
,
true
),
QStringLiteral
(
"asc"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
DetachedSignature
|
Kleo
::
Class
::
Binary
,
false
),
QStringLiteral
(
"sig"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
DetachedSignature
|
Kleo
::
Class
::
Binary
,
true
),
QStringLiteral
(
"pgp"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
DetachedSignature
|
Kleo
::
Class
::
Ascii
,
false
),
QStringLiteral
(
"asc"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
OpenPGP
|
Kleo
::
Class
::
DetachedSignature
|
Kleo
::
Class
::
Ascii
,
true
),
QStringLiteral
(
"asc"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
CMS
|
Kleo
::
Class
::
CipherText
|
Kleo
::
Class
::
Binary
,
false
),
QStringLiteral
(
"p7m"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
CMS
|
Kleo
::
Class
::
CipherText
|
Kleo
::
Class
::
Ascii
,
false
),
QStringLiteral
(
"p7m"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
CMS
|
Kleo
::
Class
::
DetachedSignature
|
Kleo
::
Class
::
Binary
,
false
),
QStringLiteral
(
"p7s"
));
QCOMPARE
(
Kleo
::
outputFileExtension
(
Kleo
::
Class
::
CMS
|
Kleo
::
Class
::
DetachedSignature
|
Kleo
::
Class
::
Ascii
,
false
),
QStringLiteral
(
"p7s"
));
}
};
QTEST_MAIN
(
ClassifyTest
)
#include
"classifytest.moc"
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Tue, Dec 30, 5:45 PM (1 d, 14 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
3e/0f/36f5fd50c6dbb0a44856d9e8c77f
Attached To
rLIBKLEO Libkleo
Event Timeline
Log In to Comment