Don't add prefix for BaseName
Adding the "assets:" prefix to BaseName leads to wrong names returned by QFileInfo{"assets:/path/to/file"}.fileName(). Instead to return "file" it returns "assets:/file" which is not the expected result. Fixes: QTBUG-114576 Fixes: QTBUG-114219 Fixes: QTBUG-112261 Pick-to: 6.6 6.5 6.5.2 Change-Id: I574bf325300c0aedef68b1b183fa837144ad63c6 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
parent
77d0f37536
commit
76619eae4c
@ -307,9 +307,9 @@ public:
|
||||
return prefixedPath(m_fileName);
|
||||
case BaseName:
|
||||
if ((pos = m_fileName.lastIndexOf(u'/')) != -1)
|
||||
return prefixedPath(m_fileName.mid(pos));
|
||||
return m_fileName.mid(pos + 1);
|
||||
else
|
||||
return prefixedPath(m_fileName);
|
||||
return m_fileName;
|
||||
case PathName:
|
||||
case AbsolutePathName:
|
||||
case CanonicalPathName:
|
||||
|
@ -13,6 +13,8 @@
|
||||
#include <qpa/qplatformnativeinterface.h>
|
||||
#include <QtCore/qdiriterator.h>
|
||||
|
||||
using namespace Qt::StringLiterals;
|
||||
|
||||
class tst_Android : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -64,10 +66,14 @@ void tst_Android::assetsIterating()
|
||||
|
||||
QDirIterator it("assets:/top_level_dir", QDirIterator::Subdirectories);
|
||||
QStringList iteratorAssets;
|
||||
while (it.hasNext())
|
||||
iteratorAssets.append(it.next());
|
||||
while (it.hasNext())
|
||||
iteratorAssets.append(it.next());
|
||||
|
||||
QVERIFY(assets == iteratorAssets);
|
||||
QVERIFY(assets == iteratorAssets);
|
||||
|
||||
auto entryList = QDir{"assets:/"_L1}.entryList(QStringList{"*.txt"_L1});
|
||||
QCOMPARE(entryList.size(), 1);
|
||||
QCOMPARE(entryList[0], "test.txt"_L1);
|
||||
}
|
||||
|
||||
void tst_Android::testAndroidSdkVersion()
|
||||
|
Loading…
x
Reference in New Issue
Block a user