diff options
Diffstat (limited to 'khtml/test_regression.h')
-rw-r--r-- | khtml/test_regression.h | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/khtml/test_regression.h b/khtml/test_regression.h deleted file mode 100644 index df76f4439..000000000 --- a/khtml/test_regression.h +++ /dev/null @@ -1,194 +0,0 @@ -/** - * This file is part of the KDE project - * - * Copyright (C) 2001,2003 Peter Kelly (pmk@post.com) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef TEST_REGRESSION_H -#define TEST_REGRESSION_H - -#include <khtml_part.h> -#include <kurl.h> -#include <tqobject.h> -#include <kjs/ustring.h> -#include <kjs/object.h> -#include <kjs/interpreter.h> - -class RegressionTest; -class TQTimer; - -/** - * @internal - */ -class PartMonitor : public TQObject -{ - Q_OBJECT -public: - PartMonitor(KHTMLPart *_part); - ~PartMonitor(); - void waitForCompletion(); - static PartMonitor* sm_highestMonitor; - bool m_completed; - KHTMLPart *m_part; - int m_timer_waits; - TQTimer *m_timeout_timer; -public slots: - void partCompleted(); - void timeout(); - void finishTimers(); -}; - -/** - * @internal - */ -class RegTestObject : public KJS::ObjectImp -{ -public: - RegTestObject(KJS::ExecState *exec, RegressionTest *_regTest); - -private: - RegressionTest *m_regTest; -}; - -/** - * @internal - */ -class RegTestFunction : public KJS::ObjectImp -{ -public: - RegTestFunction(KJS::ExecState *exec, RegressionTest *_regTest, int _id, int length); - - bool implementsCall() const; - KJS::Value call(KJS::ExecState *exec, KJS::Object &thisObj, const KJS::List &args); - - enum { Print, ReportResult, CheckOutput, Quit }; - -private: - RegressionTest *m_regTest; - int id; -}; - -/** - * @internal - */ -class KHTMLPartObject : public KJS::ObjectImp -{ -public: - KHTMLPartObject(KJS::ExecState *exec, KHTMLPart *_part); - - virtual KJS::Value get(KJS::ExecState *exec, const KJS::Identifier &propertyName) const; - -private: - KHTMLPart *m_part; -}; - -/** - * @internal - */ -class KHTMLPartFunction : public KJS::ObjectImp -{ -public: - KHTMLPartFunction(KJS::ExecState *exec, KHTMLPart *_part, int _id, int length); - - bool implementsCall() const; - KJS::Value call(KJS::ExecState *exec, KJS::Object &thisObj, const KJS::List &args); - - enum { OpenPage, OpenPageAsUrl, Begin, Write, End, ExecuteScript, ProcessEvents }; -private: - KHTMLPart *m_part; - int id; -}; - -namespace KJS { -class ScriptInterpreter; -} - -/** - * @internal - */ -class RegressionTest : public TQObject -{ - Q_OBJECT -public: - - RegressionTest(KHTMLPart *part, const TQString &baseDir, const TQString &outputDir, - bool _genOutput, bool runJS, bool runHTML); - ~RegressionTest(); - - enum OutputType { DOMTree, RenderTree }; - TQString getPartOutput( OutputType type ); - void getPartDOMOutput( TQTextStream &outputStream, KHTMLPart* part, uint indent ); - void dumpRenderTree( TQTextStream &outputStream, KHTMLPart* part ); - void testStaticFile(const TQString& filename); - void testJSFile(const TQString& filename); - enum CheckResult { Failure = 0, Success = 1, Ignored = 2 }; - CheckResult checkOutput(const TQString& againstFilename); - CheckResult checkPaintdump( const TQString& againstFilename); - enum FailureType { NoFailure = 0, AllFailure = 1, RenderFailure = 2, DomFailure = 4, PaintFailure = 8, JSFailure = 16}; - bool runTests(TQString relPath = TQString::null, bool mustExist = false, int known_failure = NoFailure); - bool reportResult( bool passed, const TQString & description = TQString::null ); - bool reportResult(CheckResult result, const TQString & description = TQString::null ); - void createMissingDirs(const TQString &path); - - TQImage renderToImage(); - bool imageEqual( const TQImage &lhs, const TQImage &rhs ); - void createLink( const TQString& test, int failures ); - void doJavascriptReport( const TQString &test ); - void doFailureReport( const TQString& test, int failures ); - - KHTMLPart *m_part; - TQString m_baseDir; - TQString m_outputDir; - bool m_genOutput; - TQString m_currentBase; - - TQString m_currentOutput; - TQString m_currentCategory; - TQString m_currentTest; - TQPixmap* m_paintBuffer; - - bool m_getOutput; - bool m_runJS; - bool m_runHTML; - int m_passes_work; - int m_passes_fail; - int m_failures_work; - int m_failures_fail; - int m_errors; - bool saw_failure; - bool ignore_errors; - int m_known_failures; - - static RegressionTest *curr; - -private: - void printDescription(const TQString& description); - - static bool svnIgnored( const TQString &filename ); - -private: - void evalJS( KJS::ScriptInterpreter &interp, const TQString &filename, bool report ); // used by testJS - -private slots: - void slotOpenURL(const KURL &url, const KParts::URLArgs &args); - void resizeTopLevelWidget( int, int ); - -}; - -#endif |