kdelibs/kdecore/tests/kautosavefiletest.cpp
Ivailo Monev 82fc15f54b generic: use CMake moc instead of automoc4 by default
for compatibilty reasons automoc4 support is not removed but it
shall be in the future. automoc4 has not been maintained for a
while (last commit is from 2011) and the stable release is from
2009.

CMake version >= 2.8.6 provides the functionality for mocking so
I see no reason to not make use of it.
2015-02-27 07:40:26 +00:00

114 lines
2.8 KiB
C++

/* This file is part of the KDE libraries
Copyright (c) 2006 Jacob R Rideout <kde@jacobrideout.net>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "kautosavefiletest.h"
#include <QtCore/QFile>
#include <QtCore/QTextStream>
#include <ktemporaryfile.h>
#include <kautosavefile.h>
#include <qtest_kde.h>
QTEST_KDEMAIN_CORE( KAutoSaveFileTest )
void KAutoSaveFileTest::cleanupTestCase()
{
foreach (const QString &fileToRemove, filesToRemove) {
QFile::remove(fileToRemove);
}
}
void KAutoSaveFileTest::test_readWrite()
{
KTemporaryFile file;
file.setPrefix("test1");
QVERIFY( file.open() );
KUrl normalFile( QFileInfo(file).absoluteFilePath() );
//Test basic functionality
KAutoSaveFile saveFile(normalFile);
QVERIFY( !QFile::exists(saveFile.fileName()) );
QVERIFY( saveFile.open(QIODevice::ReadWrite) );
QString inText = "This is test data one.\n";
{
QTextStream ts ( &saveFile );
ts << inText;
ts.flush();
}
saveFile.close();
{
QFile testReader(saveFile.fileName());
testReader.open(QIODevice::ReadWrite);
QTextStream ts ( &testReader );
QString outText = ts.readAll();
QCOMPARE( outText, inText );
}
filesToRemove << file.fileName();
}
void KAutoSaveFileTest::test_fileStaleFiles()
{
QVERIFY(1 == 1);
}
void KAutoSaveFileTest::test_applicationStaleFiles()
{
QVERIFY(1 == 1);
}
void KAutoSaveFileTest::test_locking()
{
KUrl normalFile( "fish://user@example.com/home/remote/test.txt" );
KAutoSaveFile saveFile(normalFile);
QVERIFY( !QFile::exists(saveFile.fileName()) );
QVERIFY( saveFile.open(QIODevice::ReadWrite) );
const QList<KAutoSaveFile *> staleFiles( KAutoSaveFile::staleFiles( normalFile ) );
QVERIFY( !staleFiles.isEmpty() );
KAutoSaveFile* saveFile2 = staleFiles.at(0);
QVERIFY( QFile::exists(saveFile2->fileName()) );
QVERIFY( !saveFile2->open(QIODevice::ReadWrite) );
saveFile.releaseLock();
QVERIFY( saveFile2->open(QIODevice::ReadWrite) );
delete saveFile2;
}
#include "moc_kautosavefiletest.cpp"