File indexing completed on 2024-05-26 04:59:41
0001 /* 0002 SPDX-FileCopyrightText: 2021-2022 Mladen Milinkovic <max@smoothware.net> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "subtitletest.h" 0008 0009 #include <QTest> 0010 0011 #include "core/richtext/richdocument.h" 0012 0013 #include <klocalizedstring.h> 0014 0015 using namespace SubtitleComposer; 0016 0017 0018 SubtitleTest::SubtitleTest() 0019 : sub(new SubtitleComposer::Subtitle) 0020 { 0021 KLocalizedString::setApplicationDomain("subtitlecomposer"); 0022 } 0023 0024 SubtitleTest::~SubtitleTest() 0025 { 0026 sub.reset(); 0027 } 0028 0029 void 0030 SubtitleTest::testSort_data() 0031 { 0032 QTest::addColumn<QVector<int>>("lines"); 0033 0034 QTest::newRow("ordered") 0035 << (QVector<int>() << 1 << 2 << 3 << 4 << 5 << 6); 0036 QTest::newRow("inverse") 0037 << (QVector<int>() << 6 << 5 << 4 << 3 << 2 << 1); 0038 QTest::newRow("random1") 0039 << (QVector<int>() << 3 << 4 << 2 << 1 << 5 << 6); 0040 QTest::newRow("random2") 0041 << (QVector<int>() << 3 << 4 << 1 << 2 << 6 << 5); 0042 } 0043 0044 void 0045 SubtitleTest::testSort() 0046 { 0047 QFETCH(QVector<int>, lines); 0048 0049 sub->removeLines(RangeList(Range::full()), SubtitleTarget::Both); 0050 0051 for(int n: lines) { 0052 SubtitleLine *l = new SubtitleLine(n * 1000, n * 1000 + 500); 0053 l->primaryDoc()->setPlainText(QString::number(n)); 0054 sub->insertLine(l); 0055 } 0056 0057 QVERIFY(sub->count() == lines.size()); 0058 for(int i = 0; i < sub->count(); i++) 0059 QVERIFY(qRound(sub->at(i)->showTime().toSeconds()) == i + 1); 0060 } 0061 0062 QTEST_MAIN(SubtitleTest);