File indexing completed on 2024-12-08 03:41:59
0001 /* 0002 SPDX-License-Identifier: LGPL-2.0-or-later 0003 */ 0004 0005 #ifndef SCRIPT_TEST_H 0006 #define SCRIPT_TEST_H 0007 0008 #include <QObject> 0009 #include <QPair> 0010 #include <QStringList> 0011 0012 class TestScriptEnv; 0013 namespace KTextEditor 0014 { 0015 class DocumentPrivate; 0016 } 0017 namespace KTextEditor 0018 { 0019 class ViewPrivate; 0020 } 0021 class QMainWindow; 0022 0023 class ScriptTestBase : public QObject 0024 { 0025 Q_OBJECT 0026 0027 protected: 0028 void initTestCase(); 0029 void cleanupTestCase(); 0030 typedef QPair<const char *, const char *> Failure; 0031 typedef QList<Failure> ExpectedFailures; 0032 void getTestData(const QString &script); 0033 void runTest(const ExpectedFailures &failures); 0034 0035 TestScriptEnv *m_env; 0036 KTextEditor::DocumentPrivate *m_document; 0037 QMainWindow *m_toplevel; 0038 bool m_outputWasCustomised; 0039 QStringList m_commands; 0040 KTextEditor::ViewPrivate *m_view; 0041 QString m_section; // dir name in testdata/ 0042 QString m_script_dir; // dir name in part/script/data/ 0043 0044 public: 0045 static QtMessageHandler m_msgHandler; 0046 }; 0047 0048 #endif // SCRIPT_TEST_H