Fix few QFileInfo and QDir calls
Return the file engine impl of QFileInfo::completeBaseName() and QDir::absolutePath() and QFileInfo::fileName() (based on QAbstractFileEngine::BaseName) if the file engine impl is valid. Amends f77668ffec48d8aaad7c74069c6f3e770a305ae1. Task-number: QTBUG-98974 Change-Id: I28a8c75a6f25e30012b0791c12dbde51bfe8f62c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 249d613a60aa6a1347ebc1c29902049247b93324) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
615e5dd73d
commit
4699619746
@ -659,8 +659,12 @@ QString QDir::path() const
|
|||||||
QString QDir::absolutePath() const
|
QString QDir::absolutePath() const
|
||||||
{
|
{
|
||||||
const QDirPrivate* d = d_ptr.constData();
|
const QDirPrivate* d = d_ptr.constData();
|
||||||
d->resolveAbsoluteEntry();
|
if (!d->fileEngine) {
|
||||||
return d->absoluteDirEntry.filePath();
|
d->resolveAbsoluteEntry();
|
||||||
|
return d->absoluteDirEntry.filePath();
|
||||||
|
}
|
||||||
|
|
||||||
|
return d->fileEngine->fileName(QAbstractFileEngine::AbsoluteName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -781,7 +781,9 @@ QString QFileInfo::fileName() const
|
|||||||
Q_D(const QFileInfo);
|
Q_D(const QFileInfo);
|
||||||
if (d->isDefaultConstructed)
|
if (d->isDefaultConstructed)
|
||||||
return QLatin1String("");
|
return QLatin1String("");
|
||||||
return d->fileEntry.fileName();
|
if (!d->fileEngine)
|
||||||
|
return d->fileEntry.fileName();
|
||||||
|
return d->fileEngine->fileName(QAbstractFileEngine::BaseName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -846,7 +848,10 @@ QString QFileInfo::completeBaseName() const
|
|||||||
Q_D(const QFileInfo);
|
Q_D(const QFileInfo);
|
||||||
if (d->isDefaultConstructed)
|
if (d->isDefaultConstructed)
|
||||||
return QLatin1String("");
|
return QLatin1String("");
|
||||||
return d->fileEntry.completeBaseName();
|
if (!d->fileEngine)
|
||||||
|
return d->fileEntry.completeBaseName();
|
||||||
|
const QString fileEngineBaseName = d->fileEngine->fileName(QAbstractFileEngine::BaseName);
|
||||||
|
return QFileSystemEntry(fileEngineBaseName).completeBaseName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -51,7 +51,6 @@ void tst_ContentUris::dirFacilities()
|
|||||||
const QDir subDir = dirList.first();
|
const QDir subDir = dirList.first();
|
||||||
|
|
||||||
QVERIFY(subDir.dirName() == QLatin1String("Sub"));
|
QVERIFY(subDir.dirName() == QLatin1String("Sub"));
|
||||||
QEXPECT_FAIL("", "absolutePath() is returning wrong path, cutting from 'primary' onward", Continue);
|
|
||||||
qWarning() << "subDir.absolutePath()" << subDir.absolutePath() << dirList.first();
|
qWarning() << "subDir.absolutePath()" << subDir.absolutePath() << dirList.first();
|
||||||
QVERIFY(subDir.absolutePath() == dirList.first());
|
QVERIFY(subDir.absolutePath() == dirList.first());
|
||||||
QVERIFY(subDir.path() == dirList.first());
|
QVERIFY(subDir.path() == dirList.first());
|
||||||
@ -65,7 +64,6 @@ void tst_ContentUris::dirFacilities()
|
|||||||
QVERIFY(listFiles(dir, QDirIterator::Subdirectories).size() == 3);
|
QVERIFY(listFiles(dir, QDirIterator::Subdirectories).size() == 3);
|
||||||
QVERIFY(dir.mkpath(QLatin1String("Sub/Sub2/Sub3"))); // Create an existing dir hierarchy
|
QVERIFY(dir.mkpath(QLatin1String("Sub/Sub2/Sub3"))); // Create an existing dir hierarchy
|
||||||
QVERIFY(dir.rmdir(QLatin1String("Sub")));
|
QVERIFY(dir.rmdir(QLatin1String("Sub")));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_ContentUris::readWriteFile()
|
void tst_ContentUris::readWriteFile()
|
||||||
@ -81,7 +79,7 @@ void tst_ContentUris::readWriteFile()
|
|||||||
QVERIFY(file.exists());
|
QVERIFY(file.exists());
|
||||||
QVERIFY(file.size() == 0);
|
QVERIFY(file.size() == 0);
|
||||||
QVERIFY(file.fileName() == url);
|
QVERIFY(file.fileName() == url);
|
||||||
QVERIFY(QFileInfo(url).baseName() == fileName);
|
QVERIFY(QFileInfo(url).completeBaseName() == fileName);
|
||||||
|
|
||||||
QVERIFY(file.open(QFile::WriteOnly));
|
QVERIFY(file.open(QFile::WriteOnly));
|
||||||
QVERIFY(file.isOpen());
|
QVERIFY(file.isOpen());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user