ktexttohtmlbenchmarktest.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. SPDX-FileCopyrightText: 2005 Ingo Kloecker <kloecker@kde.org>
  3. SPDX-FileCopyrightText: 2007 Allen Winter <winter@kde.org>
  4. SPDX-License-Identifier: LGPL-2.0-only
  5. */
  6. #include "../src/lib/text/ktexttohtml.h"
  7. #include "../src/lib/text/ktexttohtml_p.h"
  8. #include <QDebug>
  9. #include <QTest>
  10. #include <QUrl>
  11. Q_DECLARE_METATYPE(KTextToHTML::Options)
  12. class KTextToHTMLTest : public QObject
  13. {
  14. Q_OBJECT
  15. private Q_SLOTS:
  16. void benchHtmlConvert_data()
  17. {
  18. QTest::addColumn<QString>("text");
  19. QTest::addColumn<KTextToHTML::Options>("options");
  20. auto text = QStringLiteral("foo bar asdf :)").repeated(1000);
  21. QTest::newRow("plain") << text << KTextToHTML::Options();
  22. QTest::newRow("preserve-spaces") << text << KTextToHTML::Options(KTextToHTML::PreserveSpaces);
  23. QTest::newRow("highlight-text") << text << KTextToHTML::Options(KTextToHTML::HighlightText);
  24. QTest::newRow("replace-smileys") << text << KTextToHTML::Options(KTextToHTML::ReplaceSmileys);
  25. QTest::newRow("preserve-spaces+highlight-text") << text << KTextToHTML::Options(KTextToHTML::PreserveSpaces | KTextToHTML::HighlightText);
  26. QTest::newRow("preserve-spaces+highlight-text+replace-smileys")
  27. << text << KTextToHTML::Options(KTextToHTML::PreserveSpaces | KTextToHTML::HighlightText | KTextToHTML::ReplaceSmileys);
  28. }
  29. void benchHtmlConvert()
  30. {
  31. QFETCH(QString, text);
  32. QFETCH(KTextToHTML::Options, options);
  33. QBENCHMARK {
  34. const QString html = KTextToHTML::convertToHtml(text, options);
  35. Q_UNUSED(html);
  36. }
  37. }
  38. };
  39. QTEST_MAIN(KTextToHTMLTest)
  40. #include "ktexttohtmlbenchmarktest.moc"