…
|
||
---|---|---|
.. | ||
Date.js | ||
README | ||
const.js |
README
======================================================================== The KDE JavaScript Test Suite ======================================================================== This is a collection of JavaScript (aka ECMAScript) code snipplets used to test the KDE JavaScript library (dubbed kjs). Most of them once triggered a bug in the implementation of the interpreter. Allthough these bugs are probably fixed by now theses tests can still be used for regression testing. NOTE: Don't confuse this code with the HTML bindings for the khtml widget. Those are implemented in a seperate module residing in kdelibs/khtml/ecma. Test for those can be found elsewhere. USAGE: You can evaluate .js files with a binary called 'testkjs' as long as they contain pure ECMAScript code without any references to browser specific properties. To build 'testkjs' simply invoke 'make check' inside of the kdelibs/kjs source directory. Most tests rely on helper functions like shouldBe(). Those are collected in base.js and have to be evaluated before the actual test. testkjs accepts multiple input files in the command line. Therefore a typical test run might look like this: testkjs base.js operators.js For temporary debugging you may use the debug() function which prints its output to stderr. NAMING CONVENTION: *.js regular test j-*.js JavaScript/JScript extensions not covered by ECMA *-n.js code that is supposed to trigger a parse/compile error FUTURE: All tests could easily be run in a row by a script. If they all stick to a unified output format (e.g. via shouldBe()) all results can be parsed and analyzed automatically. Maybe to a summary HTML page. In case the test suite grows we would need to provide more info about each test. This could look like: startTest("ECMA 15.4.2", "Testing the Array Constructor"); // ... endTest(); PLEA: In case you find any yet unknown bug please reduce it to a minimal test case either send it to me or add it to this repository yourself. Harri Porten <porten@kde.org>