File indexing completed on 2024-05-12 05:52:03
0001 /* 0002 SPDX-FileCopyrightText: 2019 Christoph Cullmann <cullmann@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "session_test.h" 0008 #include "katesession.h" 0009 0010 #include <KConfig> 0011 #include <KConfigGroup> 0012 0013 #include <QFileInfo> 0014 #include <QTemporaryFile> 0015 #include <QtTestWidgets> 0016 0017 QTEST_MAIN(KateSessionTest) 0018 0019 void KateSessionTest::init() 0020 { 0021 m_tmpfile = new QTemporaryFile; 0022 QVERIFY(m_tmpfile->open()); 0023 } 0024 0025 void KateSessionTest::cleanup() 0026 { 0027 delete m_tmpfile; 0028 } 0029 0030 void KateSessionTest::create() 0031 { 0032 const QString name = QStringLiteral("session name"); 0033 KateSession::Ptr s = KateSession::create(m_tmpfile->fileName(), name); 0034 QCOMPARE(s->name(), name); 0035 QCOMPARE((int)s->documents(), 0); 0036 QCOMPARE(s->isAnonymous(), false); 0037 QCOMPARE(s->config()->name(), m_tmpfile->fileName()); 0038 } 0039 0040 void KateSessionTest::createAnonymous() 0041 { 0042 KateSession::Ptr s = KateSession::createAnonymous(m_tmpfile->fileName()); 0043 QCOMPARE(s->name(), QString()); 0044 QCOMPARE((int)s->documents(), 0); 0045 QCOMPARE(s->isAnonymous(), true); 0046 QCOMPARE(s->config()->name(), m_tmpfile->fileName()); 0047 } 0048 0049 void KateSessionTest::createAnonymousFrom() 0050 { 0051 // Regular 0052 KateSession::Ptr s = KateSession::create(m_tmpfile->fileName(), QStringLiteral("session name")); 0053 0054 const QString groupName = QStringLiteral("test group"); 0055 QTemporaryFile newFile; 0056 newFile.open(); 0057 KateSession::Ptr ns; 0058 0059 s->config()->group(groupName).writeEntry("foo", "bar"); 0060 0061 // Create Anon from Other 0062 ns = KateSession::createAnonymousFrom(s, newFile.fileName()); 0063 QCOMPARE(ns->name(), QString()); 0064 QCOMPARE((int)ns->documents(), 0); 0065 QCOMPARE(ns->isAnonymous(), true); 0066 QCOMPARE(ns->config()->name(), newFile.fileName()); 0067 QCOMPARE(ns->config()->group(groupName).readEntry("foo"), QLatin1String("bar")); 0068 } 0069 0070 void KateSessionTest::createFrom() 0071 { 0072 KateSession::Ptr s = KateSession::create(m_tmpfile->fileName(), QStringLiteral("session name")); 0073 0074 const QString newName = QStringLiteral("new session name"); 0075 const QString groupName = QStringLiteral("test group"); 0076 0077 QTemporaryFile newFile; 0078 newFile.open(); 0079 KateSession::Ptr ns; 0080 0081 s->config()->group(groupName).writeEntry("foo", "bar"); 0082 0083 ns = KateSession::createFrom(s, newFile.fileName(), newName); 0084 QCOMPARE(ns->name(), newName); 0085 QCOMPARE((int)ns->documents(), 0); 0086 QCOMPARE(ns->isAnonymous(), false); 0087 QCOMPARE(ns->config()->name(), newFile.fileName()); 0088 QCOMPARE(ns->config()->group(groupName).readEntry("foo"), QLatin1String("bar")); 0089 } 0090 0091 void KateSessionTest::setFile() 0092 { 0093 KateSession::Ptr s = KateSession::create(m_tmpfile->fileName(), QStringLiteral("session name")); 0094 s->config()->group(QStringLiteral("test")).writeEntry("foo", "bar"); 0095 0096 QTemporaryFile file2; 0097 file2.open(); 0098 0099 s->setFile(file2.fileName()); 0100 QCOMPARE(s->config()->name(), file2.fileName()); 0101 QCOMPARE(s->config()->group(QStringLiteral("test")).readEntry("foo"), QLatin1String("bar")); 0102 } 0103 0104 void KateSessionTest::timestamp() 0105 { 0106 QFileInfo i(m_tmpfile->fileName()); 0107 KateSession::Ptr s = KateSession::create(m_tmpfile->fileName(), QStringLiteral("session name")); 0108 0109 QCOMPARE(s->timestamp(), i.lastModified()); 0110 } 0111 0112 void KateSessionTest::setName() 0113 { 0114 KateSession::Ptr s = KateSession::create(m_tmpfile->fileName(), QStringLiteral("session name")); 0115 const QString newName = QStringLiteral("bar"); 0116 s->setName(newName); 0117 QCOMPARE(s->name(), newName); 0118 QCOMPARE(s->file(), m_tmpfile->fileName()); // on purpose, orthogonal 0119 } 0120 0121 #include "moc_session_test.cpp"