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);