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:
authorHannah von Reth <hannah.vonreth@owncloud.com>2020-08-10 16:22:14 +0300
committerHannah von Reth <vonreth@kde.org>2020-08-11 11:01:42 +0300
commitf4bc391b5a05406de3c9bab5093c2a42b0486728 (patch)
treec6aafe8b6529fd12803d231c93409be712f3813d /test
parent8e23e22e848a4080b3c11fa5efa4a5a79e5cfb58 (diff)
Skip test if Qt is build without support for plain ASCII
(if build without icu)
Diffstat (limited to 'test')
-rw-r--r--test/testsyncengine.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/test/testsyncengine.cpp b/test/testsyncengine.cpp
index 4213252d5..db3a165fd 100644
--- a/test/testsyncengine.cpp
+++ b/test/testsyncengine.cpp
@@ -619,9 +619,9 @@ private slots:
void testNoLocalEncoding()
{
- auto utf8Locale = QTextCodec::codecForLocale();
+ const auto utf8Locale = QTextCodec::codecForLocale();
if (utf8Locale->mibEnum() != 106) {
- QSKIP("Test only works for UTF8 locale");
+ QSKIP(qPrintable(QStringLiteral("Test only works for UTF8 locale, but current locale is %1").arg(QString::fromUtf8(utf8Locale->name()))));
}
FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
@@ -637,8 +637,10 @@ private slots:
#if !defined(Q_OS_MAC) && !defined(Q_OS_WIN)
// Try again with a locale that can represent ö but not 𠜎 (4-byte utf8).
- QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO-8859-15"));
- QVERIFY(QTextCodec::codecForLocale()->mibEnum() == 111);
+ auto codec = QTextCodec::codecForName("ISO-8859-15");
+ QVERIFY(codec);
+ QTextCodec::setCodecForLocale(codec);
+ QCOMPARE(QTextCodec::codecForLocale()->mibEnum(), 111);
fakeFolder.remoteModifier().insert("B/tößt");
fakeFolder.remoteModifier().insert("B/t𠜎t");
@@ -654,16 +656,21 @@ private slots:
QVERIFY(fakeFolder.currentRemoteState().find("B/t𠜎t"));
// Try again with plain ascii
- QTextCodec::setCodecForLocale(QTextCodec::codecForName("ASCII"));
- QVERIFY(QTextCodec::codecForLocale()->mibEnum() == 3);
-
- fakeFolder.remoteModifier().insert("C/tößt");
- QVERIFY(fakeFolder.syncOnce());
- QVERIFY(!fakeFolder.currentLocalState().find("C/tößt"));
- QVERIFY(!fakeFolder.currentLocalState().find("C/t??t"));
- QVERIFY(!fakeFolder.currentLocalState().find("C/t????t"));
- QVERIFY(fakeFolder.syncOnce());
- QVERIFY(fakeFolder.currentRemoteState().find("C/tößt"));
+ codec = QTextCodec::codecForName("ASCII");
+ if (codec) {
+ QTextCodec::setCodecForLocale(codec);
+ QCOMPARE(QTextCodec::codecForLocale()->mibEnum(), 3);
+
+ fakeFolder.remoteModifier().insert("C/tößt");
+ QVERIFY(fakeFolder.syncOnce());
+ QVERIFY(!fakeFolder.currentLocalState().find("C/tößt"));
+ QVERIFY(!fakeFolder.currentLocalState().find("C/t??t"));
+ QVERIFY(!fakeFolder.currentLocalState().find("C/t????t"));
+ QVERIFY(fakeFolder.syncOnce());
+ QVERIFY(fakeFolder.currentRemoteState().find("C/tößt"));
+ } else {
+ qDebug() << "Skipping test for ASCII, ASCII is not available, available encodings are:" << QTextCodec::availableCodecs();
+ }
QTextCodec::setCodecForLocale(utf8Locale);
#endif