Changeset View
Changeset View
Standalone View
Standalone View
autotests/karchivetest.cpp
Show First 20 Lines • Show All 763 Lines • ▼ Show 20 Line(s) | 755 | { | |||
---|---|---|---|---|---|
764 | 764 | | |||
765 | QVERIFY(listing[0].contains("%{APPNAME}.cpp")); | 765 | QVERIFY(listing[0].contains("%{APPNAME}.cpp")); | ||
766 | QVERIFY(listing[1].contains("%{APPNAME}.h")); | 766 | QVERIFY(listing[1].contains("%{APPNAME}.h")); | ||
767 | QVERIFY(listing[5].contains("main.cpp")); | 767 | QVERIFY(listing[5].contains("main.cpp")); | ||
768 | 768 | | |||
769 | QCOMPARE(listing.count(), 10); | 769 | QCOMPARE(listing.count(), 10); | ||
770 | } | 770 | } | ||
771 | 771 | | |||
772 | void KArchiveTest::testTarLongNonASCIINames() // bug 266141 | ||||
773 | { | ||||
774 | const QString tarName = QString("karchive-long-non-ascii-names.tar"); | ||||
775 | const QString longName = | ||||
776 | QString("раз-два-три-четыре-пять-вышел-зайчик-погулять-вдруг-охотник-" | ||||
dfaure: This should be QString::fromUtf8(), because QStringLiteral doesn't support UTF-8 on Windows. I… | |||||
777 | "выбегает-прямо-в-зайчика.txt"); | ||||
778 | | ||||
779 | { | ||||
780 | KTar tar(tarName); | ||||
781 | QVERIFY(tar.open(QIODevice::WriteOnly)); | ||||
782 | QVERIFY(tar.writeFile(longName, "", 0644, "user", "users")); | ||||
783 | QVERIFY(tar.close()); | ||||
784 | } | ||||
785 | | ||||
786 | { | ||||
787 | KTar tar(tarName); | ||||
788 | | ||||
789 | QVERIFY(tar.open(QIODevice::ReadOnly)); | ||||
790 | const KArchiveDirectory *dir = tar.directory(); | ||||
791 | QVERIFY(dir != nullptr); | ||||
792 | | ||||
793 | const QStringList listing = recursiveListEntries(dir, QString(""), 0); | ||||
794 | | ||||
795 | const QString expectedListingEntry = | ||||
796 | QString("mode=644 path=") + longName + QString(" type=file size=0"); | ||||
797 | | ||||
798 | QCOMPARE(listing.count(), 1); | ||||
dfaure: QCOMPARE(listing.count(), 1); | |||||
799 | | ||||
800 | QCOMPARE(listing[0], expectedListingEntry); | ||||
801 | QVERIFY(tar.close()); | ||||
802 | } | ||||
803 | } | ||||
804 | | ||||
805 | void KArchiveTest::testTarShortNonASCIINames() // bug 266141 | ||||
806 | { | ||||
807 | KTar tar(QFINDTESTDATA(QString("tar_non_ascii_file_name.tar.gz"))); | ||||
808 | | ||||
809 | QVERIFY(tar.open(QIODevice::ReadOnly)); | ||||
810 | const KArchiveDirectory *dir = tar.directory(); | ||||
811 | QVERIFY(dir != nullptr); | ||||
812 | | ||||
813 | const QStringList listing = recursiveListEntries(dir, QString(""), 0); | ||||
814 | | ||||
815 | QCOMPARE(listing.count(), 1); | ||||
816 | QCOMPARE(listing[0], QString("mode=644 path=абвгдеёжзийклмнопрстуфхцчшщъыьэюя.txt" | ||||
817 | " type=file size=0")); | ||||
818 | QVERIFY(tar.close()); | ||||
819 | } | ||||
820 | | ||||
772 | void KArchiveTest::testTarDirectoryTwice() // bug 206994 | 821 | void KArchiveTest::testTarDirectoryTwice() // bug 206994 | ||
773 | { | 822 | { | ||
774 | KTar tar(QFINDTESTDATA(QLatin1String("tar_directory_twice.tar.gz"))); | 823 | KTar tar(QFINDTESTDATA(QLatin1String("tar_directory_twice.tar.gz"))); | ||
775 | QVERIFY(tar.open(QIODevice::ReadOnly)); | 824 | QVERIFY(tar.open(QIODevice::ReadOnly)); | ||
776 | 825 | | |||
777 | const KArchiveDirectory *dir = tar.directory(); | 826 | const KArchiveDirectory *dir = tar.directory(); | ||
778 | QVERIFY(dir != nullptr); | 827 | QVERIFY(dir != nullptr); | ||
779 | 828 | | |||
▲ Show 20 Lines • Show All 625 Lines • Show Last 20 Lines |
This should be QString::fromUtf8(), because QStringLiteral doesn't support UTF-8 on Windows. I *think* it also doesn't support multiline literals, so make it a single line.
Alternatively, just use QString("...") like you do further below, that supports utf8 and multiline literals.