File indexing completed on 2025-02-16 04:49:25

0001 /*
0002     SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "markdowncreatelinkwidgettest.h"
0008 #include "markdowncreatelinkwidget.h"
0009 #include <QFormLayout>
0010 #include <QLineEdit>
0011 #include <QSignalSpy>
0012 #include <QTest>
0013 QTEST_MAIN(MarkdownCreateLinkWidgetTest)
0014 
0015 MarkdownCreateLinkWidgetTest::MarkdownCreateLinkWidgetTest(QObject *parent)
0016     : QObject(parent)
0017 {
0018 }
0019 
0020 void MarkdownCreateLinkWidgetTest::shouldHaveDefaultValue()
0021 {
0022     MarkdownCreateLinkWidget w;
0023 
0024     auto mainLayout = w.findChild<QFormLayout *>(QStringLiteral("mainlayout"));
0025     QVERIFY(mainLayout);
0026     QCOMPARE(mainLayout->contentsMargins(), QMargins());
0027 
0028     auto mTitle = w.findChild<QLineEdit *>(QStringLiteral("title"));
0029     QVERIFY(mTitle);
0030     QVERIFY(mTitle->text().isEmpty());
0031     QVERIFY(mTitle->isClearButtonEnabled());
0032 
0033     auto mLink = w.findChild<QLineEdit *>(QStringLiteral("link"));
0034     QVERIFY(mLink);
0035     QVERIFY(mLink->text().isEmpty());
0036     QVERIFY(mLink->isClearButtonEnabled());
0037 }
0038 
0039 void MarkdownCreateLinkWidgetTest::shouldGenerateLink()
0040 {
0041     MarkdownCreateLinkWidget w;
0042     auto mTitle = w.findChild<QLineEdit *>(QStringLiteral("title"));
0043     auto mLink = w.findChild<QLineEdit *>(QStringLiteral("link"));
0044     mLink->setText(QStringLiteral("http://www.kde.org"));
0045     mTitle->setText(QStringLiteral("TITLE"));
0046     QCOMPARE(w.linkStr(), QStringLiteral("[TITLE](http://www.kde.org)"));
0047 }
0048 
0049 void MarkdownCreateLinkWidgetTest::shouldEmitSignal()
0050 {
0051     MarkdownCreateLinkWidget w;
0052     QSignalSpy spy(&w, &MarkdownCreateLinkWidget::enabledOkButton);
0053     auto mTitle = w.findChild<QLineEdit *>(QStringLiteral("title"));
0054     auto mLink = w.findChild<QLineEdit *>(QStringLiteral("link"));
0055     mTitle->setText(QStringLiteral("foo"));
0056     QCOMPARE(spy.count(), 1);
0057     QCOMPARE(spy.at(0).at(0).value<bool>(), false);
0058     spy.clear();
0059 
0060     mLink->setText(QStringLiteral("dd"));
0061     QCOMPARE(spy.count(), 1);
0062     QCOMPARE(spy.at(0).at(0).value<bool>(), true);
0063 }
0064 
0065 #include "moc_markdowncreatelinkwidgettest.cpp"