File Index
- -{+new Link().toSrc(item.alias).withText(item.name)+}
--
-
- Author: -
- {+item.author+} -
- Version: -
- {+item.version+} -
- Location: -
- {+location+} -
-
-This is a lightly modified version of Kevin Jones' JavaScript -library Data.Dump. To download the original visit: - http://openjsan.org/doc/k/ke/kevinj/Data/Dump/ - -AUTHORS - -The Data.Dump JavaScript module is written by Kevin Jones -(kevinj@cpan.org), based on Data::Dump by Gisle Aas (gisle@aas.no), -based on Data::Dumper by Gurusamy Sarathy (gsar@umich.edu). - -COPYRIGHT - -Copyright 2007 Kevin Jones. Copyright 1998-2000,2003-2004 Gisle Aas. -Copyright 1996-1998 Gurusamy Sarathy. - -This program is free software; you can redistribute it and/or modify -it under the terms of the Perl Artistic License - -See http://www.perl.com/perl/misc/Artistic.html -- * @static - */ -Dumper = { - /** @param [...] The objects to dump. */ - dump: function () { - if (arguments.length > 1) - return this._dump(arguments); - else if (arguments.length == 1) - return this._dump(arguments[0]); - else - return "()"; - }, - - _dump: function (obj) { - if (typeof obj == 'undefined') return 'undefined'; - var out; - if (obj.serialize) { return obj.serialize(); } - var type = this._typeof(obj); - if (obj.circularReference) obj.circularReference++; - switch (type) { - case 'circular': - out = "{ //circularReference\n}"; - break; - case 'object': - var pairs = new Array; - - for (var prop in obj) { - if (prop != "circularReference" && obj.hasOwnProperty(prop)) { //hide inherited properties - pairs.push(prop + ': ' + this._dump(obj[prop])); - } - } - - out = '{' + this._format_list(pairs) + '}'; - break; - - case 'string': - for (var prop in Dumper.ESC) { - if (Dumper.ESC.hasOwnProperty(prop)) { - obj = obj.replace(prop, Dumper.ESC[prop]); - } - } - - // Escape UTF-8 Strings - if (obj.match(/^[\x00-\x7f]*$/)) { - out = '"' + obj.replace(/\"/g, "\\\"").replace(/([\n\r]+)/g, "\\$1") + '"'; - } - else { - out = "unescape('"+escape(obj)+"')"; - } - break; - - case 'array': - var elems = new Array; - - for (var i=0; i
"; - this.footer = ""; - this.showLinenumbers = true; -} - -JsHilite.cache = {}; - -JsHilite.prototype.hilite = function() { - var hilited = this.tokens.join(""); - var line = 1; - if (this.showLinenumbers) hilited = hilited.replace(/(^|\n)/g, function(m){return m+""+((line<10)? " ":"")+((line<100)? " ":"")+(line++)+" "}); - - return this.header+hilited+this.footer; -} \ No newline at end of file diff --git a/scripts/jsdoc-toolkit/app/plugins/symbolLink.js b/scripts/jsdoc-toolkit/app/plugins/symbolLink.js deleted file mode 100644 index c87f1ca7b..000000000 --- a/scripts/jsdoc-toolkit/app/plugins/symbolLink.js +++ /dev/null @@ -1,10 +0,0 @@ -JSDOC.PluginManager.registerPlugin( - "JSDOC.symbolLink", - { - onSymbolLink: function(link) { - // modify link.linkPath (the href part of the link) - // or link.linkText (the text displayed) - // or link.linkInner (the #name part of the link) - } - } -); \ No newline at end of file diff --git a/scripts/jsdoc-toolkit/app/plugins/tagParamConfig.js b/scripts/jsdoc-toolkit/app/plugins/tagParamConfig.js deleted file mode 100644 index 3ea8a1be2..000000000 --- a/scripts/jsdoc-toolkit/app/plugins/tagParamConfig.js +++ /dev/null @@ -1,31 +0,0 @@ -JSDOC.PluginManager.registerPlugin( - "JSDOC.tagParamConfig", - { - onDocCommentTags: function(comment) { - var currentParam = null; - var tags = comment.tags; - for (var i = 0, l = tags.length; i < l; i++) { - - if (tags[i].title == "param") { - if (tags[i].name.indexOf(".") == -1) { - currentParam = i; - } - } - else if (tags[i].title == "config") { - tags[i].title = "param"; - if (currentParam == null) { - tags[i].name = "arguments"+"."+tags[i].name; - } - else if (tags[i].name.indexOf(tags[currentParam].name+".") != 0) { - tags[i].name = tags[currentParam].name+"."+tags[i].name; - } - currentParam != null - //tags[currentParam].properties.push(tags[i]); - } - else { - currentParam = null; - } - } - } - } -); diff --git a/scripts/jsdoc-toolkit/app/plugins/tagSynonyms.js b/scripts/jsdoc-toolkit/app/plugins/tagSynonyms.js deleted file mode 100644 index 49a874f19..000000000 --- a/scripts/jsdoc-toolkit/app/plugins/tagSynonyms.js +++ /dev/null @@ -1,43 +0,0 @@ -JSDOC.PluginManager.registerPlugin( - "JSDOC.tagSynonyms", - { - onDocCommentSrc: function(comment) { - comment.src = comment.src.replace(/@methodOf\b/i, "@function\n@memberOf"); - comment.src = comment.src.replace(/@fieldOf\b/i, "@field\n@memberOf"); - }, - - onDocCommentTags: function(comment) { - for (var i = 0, l = comment.tags.length; i < l; i++) { - var title = comment.tags[i].title.toLowerCase(); - var syn; - if ((syn = JSDOC.tagSynonyms.synonyms["="+title])) { - comment.tags[i].title = syn; - } - } - } - } -); - -new Namespace( - "JSDOC.tagSynonyms", - function() { - JSDOC.tagSynonyms.synonyms = { - "=member": "memberOf", - "=memberof": "memberOf", - "=description": "desc", - "=exception": "throws", - "=argument": "param", - "=returns": "return", - "=classdescription": "class", - "=fileoverview": "overview", - "=extends": "augments", - "=base": "augments", - "=projectdescription": "overview", - "=classdescription": "class", - "=link": "see", - "=borrows": "inherits", - "=scope": "lends", - "=construct": "constructor" - } - } -); \ No newline at end of file diff --git a/scripts/jsdoc-toolkit/app/run.js b/scripts/jsdoc-toolkit/app/run.js deleted file mode 100644 index 1f875cdbb..000000000 --- a/scripts/jsdoc-toolkit/app/run.js +++ /dev/null @@ -1,348 +0,0 @@ -/** - * @fileOverview - * A bootstrap script that creates some basic required objects - * for loading other scripts. - * @author Michael Mathews, micmath@gmail.com - * @version $Id: run.js 756 2009-01-07 21:32:58Z micmath $ - */ - -/** - * @namespace Keep track of any messages from the running script. - */ -LOG = { - warn: function(msg, e) { - if (JSDOC.opt.q) return; - if (e) msg = e.fileName+", line "+e.lineNumber+": "+msg; - - msg = ">> WARNING: "+msg; - LOG.warnings.push(msg); - if (LOG.out) LOG.out.write(msg+"\n"); - else print(msg); - }, - - inform: function(msg) { - if (JSDOC.opt.q) return; - msg = " > "+msg; - if (LOG.out) LOG.out.write(msg+"\n"); - else if (typeof LOG.verbose != "undefined" && LOG.verbose) print(msg); - } -}; -LOG.warnings = []; -LOG.verbose = false -LOG.out = undefined; - -/** - * @class Manipulate a filepath. - */ -function FilePath(absPath, separator) { - this.slash = separator || "/"; - this.root = this.slash; - this.path = []; - this.file = ""; - - var parts = absPath.split(/[\\\/]/); - if (parts) { - if (parts.length) this.root = parts.shift() + this.slash; - if (parts.length) this.file = parts.pop() - if (parts.length) this.path = parts; - } - - this.path = this.resolvePath(); -} - -/** Collapse any dot-dot or dot items in a filepath. */ -FilePath.prototype.resolvePath = function() { - var resolvedPath = []; - for (var i = 0; i < this.path.length; i++) { - if (this.path[i] == "..") resolvedPath.pop(); - else if (this.path[i] != ".") resolvedPath.push(this.path[i]); - } - return resolvedPath; -} - -/** Trim off the filename. */ -FilePath.prototype.toDir = function() { - if (this.file) this.file = ""; - return this; -} - -/** Go up a directory. */ -FilePath.prototype.upDir = function() { - this.toDir(); - if (this.path.length) this.path.pop(); - return this; -} - -FilePath.prototype.toString = function() { - return this.root - + this.path.join(this.slash) - + ((this.path.length > 0)? this.slash : "") - + this.file; -} - -/** - * Turn a path into just the name of the file. - */ -FilePath.fileName = function(path) { - var nameStart = Math.max(path.lastIndexOf("/")+1, path.lastIndexOf("\\")+1, 0); - return path.substring(nameStart); -} - -/** - * Get the extension of a filename - */ -FilePath.fileExtension = function(filename) { - return filename.split(".").pop().toLowerCase(); -}; - -/** - * Turn a path into just the directory part. - */ -FilePath.dir = function(path) { - var nameStart = Math.max(path.lastIndexOf("/")+1, path.lastIndexOf("\\")+1, 0); - return path.substring(0, nameStart-1); -} - - -importClass(java.lang.System); - -/** - * @namespace A collection of information about your system. - */ -SYS = { - /** - * Information about your operating system: arch, name, version. - * @type string - */ - os: [ - new String(System.getProperty("os.arch")), - new String(System.getProperty("os.name")), - new String(System.getProperty("os.version")) - ].join(", "), - - /** - * Which way does your slash lean. - * @type string - */ - slash: System.getProperty("file.separator")||"/", - - /** - * The path to the working directory where you ran java. - * @type string - */ - userDir: new String(System.getProperty("user.dir")), - - /** - * Where is Java's home folder. - * @type string - */ - javaHome: new String(System.getProperty("java.home")), - - /** - * The absolute path to the directory containing this script. - * @type string - */ - pwd: undefined -}; - -// jsrun appends an argument, with the path to here. -if (arguments[arguments.length-1].match(/^-j=(.+)/)) { - if (RegExp.$1.charAt(0) == SYS.slash || RegExp.$1.charAt(1) == ":") { // absolute path to here - SYS.pwd = new FilePath(RegExp.$1).toDir().toString(); - } - else { // relative path to here - SYS.pwd = new FilePath(SYS.userDir + SYS.slash + RegExp.$1).toDir().toString(); - } - arguments.pop(); -} -else { - print("The run.js script requires you use jsrun.jar."); - quit(); -} - -// shortcut -var File = Packages.java.io.File; - -/** - * @namespace A collection of functions that deal with reading a writing to disk. - */ -IO = { - - /** - * Create a new file in the given directory, with the given name and contents. - */ - saveFile: function(/**string*/ outDir, /**string*/ fileName, /**string*/ content) { - var out = new Packages.java.io.PrintWriter( - new Packages.java.io.OutputStreamWriter( - new Packages.java.io.FileOutputStream(outDir+SYS.slash+fileName), - IO.encoding - ) - ); - out.write(content); - out.flush(); - out.close(); - }, - - /** - * @type string - */ - readFile: function(/**string*/ path) { - if (!IO.exists(path)) { - throw "File doesn't exist there: "+path; - } - return readFile(path, IO.encoding); - }, - - /** - * @param inFile - * @param outDir - * @param [fileName=The original filename] - */ - copyFile: function(/**string*/ inFile, /**string*/ outDir, /**string*/ fileName) { - if (fileName == null) fileName = FilePath.fileName(inFile); - - var inFile = new File(inFile); - var outFile = new File(outDir+SYS.slash+fileName); - - var bis = new Packages.java.io.BufferedInputStream(new Packages.java.io.FileInputStream(inFile), 4096); - var bos = new Packages.java.io.BufferedOutputStream(new Packages.java.io.FileOutputStream(outFile), 4096); - var theChar; - while ((theChar = bis.read()) != -1) { - bos.write(theChar); - } - bos.close(); - bis.close(); - }, - - /** - * Creates a series of nested directories. - */ - mkPath: function(/**Array*/ path) { - if (path.constructor != Array) path = path.split(/[\\\/]/); - var make = ""; - for (var i = 0, l = path.length; i < l; i++) { - make += path[i] + SYS.slash; - if (! IO.exists(make)) { - IO.makeDir(make); - } - } - }, - - /** - * Creates a directory at the given path. - */ - makeDir: function(/**string*/ path) { - (new File(path)).mkdir(); - }, - - /** - * @type string[] - * @param dir The starting directory to look in. - * @param [recurse=1] How many levels deep to scan. - * @returns An array of all the paths to files in the given dir. - */ - ls: function(/**string*/ dir, /**number*/ recurse, _allFiles, _path) { - if (_path === undefined) { // initially - var _allFiles = []; - var _path = [dir]; - } - if (_path.length == 0) return _allFiles; - if (recurse === undefined) recurse = 1; - - dir = new File(dir); - if (!dir.directory) return [String(dir)]; - var files = dir.list(); - - for (var f = 0; f < files.length; f++) { - var file = String(files[f]); - if (file.match(/^\.[^\.\/\\]/)) continue; // skip dot files - - if ((new File(_path.join(SYS.slash)+SYS.slash+file)).list()) { // it's a directory - _path.push(file); - if (_path.length-1 < recurse) IO.ls(_path.join(SYS.slash), recurse, _allFiles, _path); - _path.pop(); - } - else { - _allFiles.push((_path.join(SYS.slash)+SYS.slash+file).replace(SYS.slash+SYS.slash, SYS.slash)); - } - } - - return _allFiles; - }, - - /** - * @type boolean - */ - exists: function(/**string*/ path) { - file = new File(path); - - if (file.isDirectory()){ - return true; - } - if (!file.exists()){ - return false; - } - if (!file.canRead()){ - return false; - } - return true; - }, - - /** - * - */ - open: function(/**string*/ path, /**string*/ append) { - var append = true; - var outFile = new File(path); - var out = new Packages.java.io.PrintWriter( - new Packages.java.io.OutputStreamWriter( - new Packages.java.io.FileOutputStream(outFile, append), - IO.encoding - ) - ); - return out; - }, - - /** - * Sets {@link IO.encoding}. - * Encoding is used when reading and writing text to files, - * and in the meta tags of HTML output. - */ - setEncoding: function(/**string*/ encoding) { - if (/ISO-8859-([0-9]+)/i.test(encoding)) { - IO.encoding = "ISO8859_"+RegExp.$1; - } - else { - IO.encoding = encoding; - } - }, - - /** - * @default "utf-8" - * @private - */ - encoding: "utf-8", - - /** - * Load the given script. - */ - include: function(relativePath) { - load(SYS.pwd+relativePath); - }, - - /** - * Loads all scripts from the given directory path. - */ - includeDir: function(path) { - if (!path) return; - - for (var lib = IO.ls(SYS.pwd+path), i = 0; i < lib.length; i++) - if (/\.js$/i.test(lib[i])) load(lib[i]); - } -} - -// now run the application -IO.include("frame.js"); -IO.include("main.js"); - -main(); diff --git a/scripts/jsdoc-toolkit/app/t/TestDoc.js b/scripts/jsdoc-toolkit/app/t/TestDoc.js deleted file mode 100644 index c0768b71c..000000000 --- a/scripts/jsdoc-toolkit/app/t/TestDoc.js +++ /dev/null @@ -1,144 +0,0 @@ -var TestDoc = { - fails: 0, - plans: 0, - passes: 0, - results: [] -}; - -TestDoc.record = function(result) { - TestDoc.results.push(result); - if (typeof result.verdict == "boolean") { - if (result.verdict === false) TestDoc.fails++; - if (result.verdict === true) TestDoc.passes++; - } -} - -TestDoc.prove = function(filePath) { - if (typeof document != "undefined" && typeof document.write != "undefined") { - if (TestDoc.console) print = function(s) { TestDoc.console.appendChild(document.createTextNode(s+"\n")); } - else print = function(s) { document.write(s+"
@extends tag), but in
- * reality it is completely unrelated to Shape.
- * @param {int} sideLength The length of one side for the new Hexagon
- * @example
- * var h = new Hexagon(2);
- * @example
- * if (hasHex) {
- * hex = new Hexagon(5);
- * color = hex.getColor();
- * }
- */
-function Hexagon(sideLength) {
-}
-
-
-/**
- * This is an unattached (static) function that adds two integers together.
- * @param {int} One The first number to add
- * @param {int} Two The second number to add
- * @author Gabriel Reid
- * @deprecated So you shouldn't use it anymore! Use {@link Shape#getClassName} instead.
- */
-function Add(One, Two){
- return One + Two;
-}
-
-
-/**
- * The color of this shape
- * @type Color
- */
-Shape.prototype.color = null;
-
-/**
- * The border of this shape.
- * @field
- * @type int
- */
-Shape.prototype.border = function(){return border;};
-
-/*
- * These are all the instance method implementations for Shape
- */
-
-/**
- * Get the coordinates of this shape. It is assumed that we're always talking
- * about shapes in a 2D location here.
- * @requires The {@link Shape} class
- * @returns A Coordinate object representing the location of this Shape
- * @type Coordinate[]
- */
-Shape.prototype.getCoords = function(){
- return this.coords;
-}
-
-/**
- * Get the color of this shape.
- * @see #setColor
- * @see The Color library.
- * @link Shape
- * @type Color
- */
-Shape.prototype.getColor = function(){
- return this.color;
-}
-
-/**
- * Set the coordinates for this Shape
- * @param {Coordinate} coordinates The coordinates to set for this Shape
- */
-Shape.prototype.setCoords = function(coordinates){
- this.coords = coordinates;
-}
-
-/**
- * Set the color for this Shape
- * @param {Color} color The color to set for this Shape
- * @param other There is no other param, but it can still be documented if
- * optional parameters are used
- * @throws NonExistantColorException (no, not really!)
- * @see #getColor
- */
-Shape.prototype.setColor = function(color){
- this.color = color;
-}
-
-/**
- * Clone this shape
- * @returns A copy of this shape
- * @type Shape
- * @author Gabriel Reid
- */
-Shape.prototype.clone = function(){
- return new Shape();
-}
-
-/**
- * Create a new Rectangle instance.
- * @class A basic rectangle class, inherits from Shape.
- * This class could be considered a concrete implementation class
- * @constructor
- * @param {int} width The optional width for this Rectangle
- * @param {int} height Thie optional height for this Rectangle
- * @author Gabriel Reid
- * @see Shape is the base class for this
- * @augments Shape
- * @hilited
- */
-function Rectangle(width, // This is the width
- height // This is the height
- ){
- if (width){
- this.width = width;
- if (height){
- this.height = height;
- }
- }
-}
-
-
-/* Inherit from Shape */
-Rectangle.prototype = new Shape();
-
-/**
- * Value to represent the width of the Rectangle.
- *
- var x (x < 1);
- alert("This 'is' \"code\"");
-
- * @name My Cool Library
- * @author Joe Smith jsmith@company.com
- * @version 0.1
- */
-
-/**
- * Gets the current foo
- * @param {String} fooId The unique identifier for the foo.
- * @return {Object} Returns the current foo.
- */
-function getFoo(fooID){
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/param_inline.js b/scripts/jsdoc-toolkit/app/test/param_inline.js
deleted file mode 100644
index 09845b283..000000000
--- a/scripts/jsdoc-toolkit/app/test/param_inline.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- @constructor
- @param columns The number of columns.
-*/
-function Layout(/**int*/columns){
- /**
- @param [id] The id of the element.
- @param elName The name of the element.
- */
- this.getElement = function(
- /** string */ elName,
- /** number|string */ id
- ) {
- };
-
- /**
- @constructor
- */
- this.Canvas = function(top, left, /**int*/width, height) {
- /** Is it initiated yet? */
- this.initiated = true;
- }
-
- this.rotate = function(/**nothing*/) {
- }
-
- /**
- @param x
- @param y
- @param {zoppler} z*/
- this.init = function(x, y, /**abbler*/z) {
- /** The xyz. */
- this.xyz = x+y+z;
- this.getXyz = function() {
- }
- }
-}
diff --git a/scripts/jsdoc-toolkit/app/test/params_optional.js b/scripts/jsdoc-toolkit/app/test/params_optional.js
deleted file mode 100644
index 18bf59829..000000000
--- a/scripts/jsdoc-toolkit/app/test/params_optional.js
+++ /dev/null
@@ -1,8 +0,0 @@
-
-/**
- * @param {Page[]} pages
- * @param {number} [id] Specifies the id, if applicable.
- * @param {String} [title = This is untitled.] Specifies the title.
- */
-function Document(pages, id, title){
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/prototype.js b/scripts/jsdoc-toolkit/app/test/prototype.js
deleted file mode 100644
index 114700837..000000000
--- a/scripts/jsdoc-toolkit/app/test/prototype.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/** @constructor */
-function Article() {
-}
-
-Article.prototype.init = function(title) {
- /** the instance title */
- this.title = title;
-
- /** the static counter */
- Article.counter = 1;
-}
-
-a = new Article();
-a.Init("my title");
-
-print(a.title);
-print(Article.counter);
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/prototype_nested.js b/scripts/jsdoc-toolkit/app/test/prototype_nested.js
deleted file mode 100644
index e8ca1ced2..000000000
--- a/scripts/jsdoc-toolkit/app/test/prototype_nested.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/** @constructor */
-function Word() {
-}
-
-Word.prototype.reverse = function() {
-}
-
-Word.prototype.reverse.utf8 = function() {
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/prototype_oblit.js b/scripts/jsdoc-toolkit/app/test/prototype_oblit.js
deleted file mode 100644
index 6cfc39caf..000000000
--- a/scripts/jsdoc-toolkit/app/test/prototype_oblit.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/** @constructor */
-function Article() {
-}
-
-Article.prototype = {
- /** instance get title */
- getTitle: function(){
- }
-}
-
-/** static get title */
-Article.getTitle = function(){
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/prototype_oblit_constructor.js b/scripts/jsdoc-toolkit/app/test/prototype_oblit_constructor.js
deleted file mode 100644
index 924824864..000000000
--- a/scripts/jsdoc-toolkit/app/test/prototype_oblit_constructor.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/** @constructor */
-function Article() {
-}
-
-Article.prototype = {
- /** @constructor */
- Title: function(title) {
- /** the value of the Title instance */
- this.title = title;
- },
-
- init: function(pages) {
- /** the value of the pages of the Article instance */
- this.pages = pages;
- }
-}
-
-f = new Article();
-f.init("one two three");
-
-t = new f.Title("my title");
-
-print(f.pages);
-print(t.title);
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/public.js b/scripts/jsdoc-toolkit/app/test/public.js
deleted file mode 100644
index 35d34f6f0..000000000
--- a/scripts/jsdoc-toolkit/app/test/public.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**@constructor*/
-function Foo() {
- /**
- @public
- @static
- @field
- */
- var bar = function(x) {
- }
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/scripts/code.js b/scripts/jsdoc-toolkit/app/test/scripts/code.js
deleted file mode 100644
index e9d7ed2ec..000000000
--- a/scripts/jsdoc-toolkit/app/test/scripts/code.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- @class
- */
-function thisiscode() {
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/scripts/notcode.txt b/scripts/jsdoc-toolkit/app/test/scripts/notcode.txt
deleted file mode 100644
index fcd737e77..000000000
--- a/scripts/jsdoc-toolkit/app/test/scripts/notcode.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-(This is not code)
-function foo(){{{{
-(
-!
-@
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/shared.js b/scripts/jsdoc-toolkit/app/test/shared.js
deleted file mode 100644
index e1c277a6f..000000000
--- a/scripts/jsdoc-toolkit/app/test/shared.js
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/**
- * Builtin object.
- * @class
- * @name Array
- */
-
-/**#@+
- * Extension to builtin array.
- * @memberOf Array
- * @method
- */
-
-/**
- * @returns Boolen if some array members...
- */
-Array.prototype.some = function(){};
-
-/**
- * Change every element of an array.
- * @returns Filtered array copy.
- */
-Array.prototype.filter = function(){};
-
-/**#@-*/
-
-
-/**
- * A first in, first out data structure.
- * @constructor
- */
-Queue = function(){};
-
-/**#@+
- * Extension to Queue.
- * @memberOf Queue
- */
-
-rewind = function(){
-}
-
-// should close automatically here.
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/shared2.js b/scripts/jsdoc-toolkit/app/test/shared2.js
deleted file mode 100644
index 3f7736a77..000000000
--- a/scripts/jsdoc-toolkit/app/test/shared2.js
+++ /dev/null
@@ -1,2 +0,0 @@
-startOver = function(){
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/shortcuts.js b/scripts/jsdoc-toolkit/app/test/shortcuts.js
deleted file mode 100644
index f738f1e1c..000000000
--- a/scripts/jsdoc-toolkit/app/test/shortcuts.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// /**#=+
-// * {
-// * 'D': 'Date.prototype',
-// * '$N': 'Number'
-// * }
-// */
-// var D = Date.prototype,
-// $N = Number;
-//
-// D.locale = function(){
-// };
-//
-// /**
-// @return {string} The cardinal number string.
-// */
-// $N.nth = function(n){
-// };
-//
-// LOAD.file = function(){
-// }
-//
-// /**#=-*/
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/static_this.js b/scripts/jsdoc-toolkit/app/test/static_this.js
deleted file mode 100644
index 9407b20f3..000000000
--- a/scripts/jsdoc-toolkit/app/test/static_this.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/** the parent */
-var box = {};
-
-/** @namespace */
-box.holder = {}
-
-box.holder.foo = function() {
- /** the counter */
- this.counter = 1;
-}
-
-box.holder.foo();
-print(box.holder.counter);
diff --git a/scripts/jsdoc-toolkit/app/test/synonyms.js b/scripts/jsdoc-toolkit/app/test/synonyms.js
deleted file mode 100644
index 09066b98f..000000000
--- a/scripts/jsdoc-toolkit/app/test/synonyms.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- @class
- @inherits Bar#zop as #my_zop
-*/
-function Foo() {
- /** this is a zip. */
- this.zip = function() {}
-
- /** from Bar */
- this.my_zop = new Bar().zop;
-}
-
-/**
- @class
- @borrows Foo#zip as this.my_zip
-*/
-function Bar() {
- /** this is a zop. */
- this.zop = function() {}
-
- /** from Foo */
- this.my_zip = new Foo().zip;
-}
-
-/** @namespace */
-var myObject = {
- /**
- @type function
- */
- myFunc: getFunction()
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/tosource.js b/scripts/jsdoc-toolkit/app/test/tosource.js
deleted file mode 100644
index 706d47652..000000000
--- a/scripts/jsdoc-toolkit/app/test/tosource.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @param {Object} object
- * @return {string}
- */
-function valueOf(object) {}
-
-/**
- * @param {Object} object
- * @return {string}
- */
-function toString(object) {}
-
-/**
- * @param {Object} object
- * @return {string}
- */
-function toSource(object) {}
-
-/**
- * @param {Object} object
- * @return {string}
- */
-function constructor(object) {}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/app/test/variable_redefine.js b/scripts/jsdoc-toolkit/app/test/variable_redefine.js
deleted file mode 100644
index 2c07da09a..000000000
--- a/scripts/jsdoc-toolkit/app/test/variable_redefine.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/** @constructor */
-function Foo() {
- var bar = 1;
- bar = 2; // redefining a private
-
- this.baz = 1;
- baz = 2; // global
-
- /** a private */
- var blap = {
- /** in here */
- tada: 1
- }
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/changes.txt b/scripts/jsdoc-toolkit/changes.txt
deleted file mode 100644
index d664750f3..000000000
--- a/scripts/jsdoc-toolkit/changes.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-== 2.3.2 ==
-
- * Minor update to the usage notes and corrected the version number displayed in the output.
-
-== 2.3.1 ==
-
- * Fixed HTML typo in allfiles template. (issue #228)
- * Modified template to display version information for classes.
- * Modified template to better support multiple methods with the same name.
- * Fixed bug that caused template to error when backtick characters appeared around class names.
-
-== 2.3.0 ==
-
- * Added option -u, --unique to avoid bug that causes multiple symbols with names that differ only by case to overwrite each others output on case-insensitive filesystems. ( issue #162 )
- * Fixed bug where {@links} in @deprecated tags did not resolve. ( issue #220 )
- * Fixed bug that caused parens around a function to make it to be unrecognized. ( issue #213 )
- * Fixed bug prevented explicit links to named anchors from working (thanks katgao.pku). ( issue #215 )
- * Fixed bug that prevented full description from appearing in file overview. ( issue #224 )
-
-== 2.2.1 ==
-
- * Fixed bug with class template, where sorting of methods was accidentally removed (thanks dezfowler).
- * Added missing test files for the @exports unit tests.
-
-== 2.2.0 ==
-
- * Fixed bug that caused exception when given a folder containing non-js files, even with the x commandline option set to "js". ( issue #193 )
- * Fixed typo in index template [patch submitted by olle]. ( issue #198 )
- * Modified @borrows tag experimentally to allow for missing "as ..." clause.
- * Added support for the @exports tag, to allow one symbol to be documented as another.
- * Added support for the -S option to document code following the Secure Modules pattern.
-
-== 2.1.0 ==
-
- * Added support for the @event tag.
- * Fixed bug that prevented the : character from appearing in symbol names.
- * Fixed bug that prevented underscored symbols marked with @public being tagged as private. (issue #184 )
- * Fixed bug that randomly affected the @memberOf tag when the name of the symbol did not include the parent name.
- * Fixed bug that prevented templates that were not in the jsdoc-toolkit folder from being found. ( issue #176 )
- * Added ability to check for trailing slash on template path. ( issue #177 )
- * Modified classDesc so that it no longer is appended with the constructor desc.
- * Fixed call to plugin onDocCommentSrc.
- * Added missing support for inline doc comments for function return types. ( issue #189 )
- * Added command line option -q, --quiet.
- * Added command line option -E, --exclude. ( issue #143 )
- * Added 2 more hooks for plugins. ( issue #163 )
- * Added support for extending built-ins. ( issue #160 )
- * Added "compact" option to JSDOC.JsPlate.prototype.process. ( issue #159 )
- * @augments no longer documents static members as inherited. ( issue #138 )
- * @link to a class now goes to the page for that class, not the constructor. ( issue #178 )
- * Warnings of mismatched curly brace now include filename. ( issue #166 )
- * Fixed bug affecting template paths loaded via a configuration file when the trailing slash is missing. ( issue #191 )
- * Minor optimizations.
-
-== 2.0.2 ==
-
- * Fixed bug that sometimes caused an example of division in the source code to be interpretted as a regex by the JsDoc Toolkit analyzer. ( issue #158 )
- * Fixed a bug that prevented private variables marked as @public from appearing in the documentation. ( issue #161 )
- * Fixed bug that prevented variable names with underscored properties from appearing in summaries. ( issue #173 )
-
-== 2.0.1 ==
-
- * Fixed bug that prevented @fileOverview tag from being recognized.
- * Added support for @fieldOf as a synonym for @field plus @memberOf.
- * Added support for @name tag in a @fileOverview comment to control the displayed name of the file.
- * Added support for multiple @example tags. ( issue #152 )
- * Modified style sheet of jsdoc template to make more readable. ( issue #151 )
- * Fixed bug that prevented @since documentation from displaying correctly when it appeared in a class. ( issue #150 )
- * Fixed bug that caused inhertited properties to sometimes not resolve correctly. ( issue #144 )
- * Modified so that trailing whitespace in @example is always trimmed. ( issue #153 )
- * Added support for elseif to JsPlate. (hat tip to fredck)
- * Added support for @location urls in the @overview comment to the jsdoc template.
-
-== Changes From Versions 1.4.0 to 2.0.0 ==
-
- * Upgraded included version of Rhino from 1.6 to 1.7R1.
- * Removed circular references in parsed documentation objects.
- * Improved inheritance handling, now properties and events can be inherited same as methods.
- * Improved handling of cross-file relationships, now having two related objects in separate files is not a problem.
- * Improved ability to recognize membership of previously defined objects.
- * Added ability to redefine parsing behavior with plugins.
- * @methodOf is a synonym for @function and @memberOf.
- * Added @default to document default values of members that are objects.
- * Added ability to parse and refer to inner functions.
- * Fixed bug that appeared when calling a method to set properties of the instance referred to by "this".
- * Added ability to automatically create links to other symbols.
- * New "jsdoc" template now produces fully W3C valid XHTML.
- * Inline parameter type hint comments are now documented.
- * Fixed error: Locally scoped variables (declared with var) no longer appear as global.
- * It is now possible to run JsDoc Toolkit from any directory.
- * Added support for inline {@link ...} tags.
- * Added support for the -H command-line option to allow for custom content handlers.
- * Tag names @inherits and @scope changed to @borrows and @lends.
- ? Combining @constructor in a doclet with @lends now supported.
- * Multiple @lend tags now supported.
- * Added support for the @constructs tag, used inside a @lends block.
- * Added support for the @constant tag.
- * Fixed bug that prevented the use of [] as a default value.
- * Added support for the @field tag.
- * Added support for the @public tag (applied to inner functions).
- * @namespace tag can now be applied to functions, not just object literals.
- * Added support for the -s command line option to suppress source code output.
- * Added new unit test framework.
- * Underscored symbols are now treated as if they have a @private tag by default.
- * Improved support for anonymous constructors.
- * Added support for the nocode meta tag.
-
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/conf/sample.conf b/scripts/jsdoc-toolkit/conf/sample.conf
deleted file mode 100644
index ad0f08e65..000000000
--- a/scripts/jsdoc-toolkit/conf/sample.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- This is an example of one way you could set up a configuration file to more
- conveniently define some commandline options. You might like to do this if
- you frequently reuse the same options. Note that you don't need to define
- every option in this file, you can combine a configuration file with
- additional options on the commandline if your wish.
-
- You would include this configuration file by running JsDoc Toolkit like so:
- java -jar jsrun.jar app/run.js -c=conf/sample.conf
-
-*/
-
-{
- // source files to use
- _: ['app/test/jsdoc_test.js'],
-
- // document all functions, even uncommented ones
- a: true,
-
- // including those marked @private
- p: true,
-
- // some extra variables I want to include
- D: {generatedBy: "Michael Mathews", copyright: "2008"},
-
- // use this directory as the output directory
- d: "docs",
-
- // use this template
- t: "templates/jsdoc"
-}
\ No newline at end of file
diff --git a/scripts/jsdoc-toolkit/java/build.xml b/scripts/jsdoc-toolkit/java/build.xml
deleted file mode 100644
index bb845ce3a..000000000
--- a/scripts/jsdoc-toolkit/java/build.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
Version
- {+ data.version +}.
-
Extends
- {+
- data.augments
- .sort()
- .map(
- function($) { return new Link().toSymbol($); }
- )
- .join(", ")
- +}.
-
Defined in: {+new Link().toSrc(data.srcFile)+}.
-
| Constructor Attributes | -Constructor Name and Description | -
|---|---|
| {! - if (data.isPrivate) output += "<private> "; - if (data.isInner) output += "<inner> "; - !} | -
-
- {+ new Link().toSymbol(data.alias).inner('constructor')+}
- {+resolveLinks(summarize(data.desc))+}
- |
-
| Field Attributes | -Field Name and Description | -
|---|---|
| {! - if (member.isPrivate) output += "<private> "; - if (member.isInner) output += "<inner> "; - if (member.isStatic) output += "<static> "; - if (member.isConstant) output += "<constant> "; - !} | -
-
-
- {+resolveLinks(summarize(member.desc))+}
- |
-
| Method Attributes | -Method Name and Description | -
|---|---|
| {! - if (member.isPrivate) output += "<private> "; - if (member.isInner) output += "<inner> "; - if (member.isStatic) output += "<static> "; - !} | -
- {+resolveLinks(summarize(member.desc))+}
- |
-
| Event Attributes | -Event Name and Description | -
|---|---|
| {! - if (member.isPrivate) output += "<private> "; - if (member.isInner) output += "<inner> "; - if (member.isStatic) output += "<static> "; - !} | -
- {+resolveLinks(summarize(member.desc))+}
- |
-
{+example+}
- {+example+}
- {+example+}
- {+example+}
- Tests with problems (' + this.problemsListField.length + ' total) - JsUnit<\/p>' - + '
Running on ' + navigator.userAgent + '
'; - - for (var i = 0; i < this.problemsListField.length; i++) { - body += ''; - body += '' + (i + 1) + '. '; - body += this.problemsListField[i].text; - body += '<\/b><\/p>
';
- body += this.makeHTMLSafe(this.problemsListField[i].value);
- body += '<\/pre><\/p>';
- }
-
- this._windowForAllProblemMessages = this._createWindow("Tests with problems", body);
-}
-
-JsUnit.ClassicUiManager.prototype.showLog = function() {
- this._tryToCloseWindow(this.logWindow);
-
- var body = "";
-
- var log = this._testManager.log;
- for (var i = 0; i < log.length; i++) {
- body += log[i];
- body += "\n";
- }
-
- body += "";
-
- this.logWindow = this._createWindow("Log", body);
-}
-
-JsUnit.ClassicUiManager.prototype._tryToCloseWindow = function(w) {
- try {
- if (w && !w.closed) w.close();
- } catch(e) {
- }
-}
-
-JsUnit.ClassicUiManager.prototype._createWindow = function(title, body) {
- var w = window.open('', '', 'width=600, height=350,status=no,resizable=yes,scrollbars=yes');
- var resDoc = w.document;
- resDoc.write('');
- resDoc.write(title);
- resDoc.write(' - JsUnit<\/title> ');
- resDoc.write(body);
- resDoc.write('<\/body><\/html>');
- resDoc.close();
-}
-
-
-JsUnit.ClassicUiManager.prototype.fatalError = function(aMessage) {
- if (this._testManager._params.shouldSuppressDialogs()) // todo: huh?
- this.setStatus(aMessage);
- else
- alert(aMessage);
-}
-
-JsUnit.ClassicUiManager.prototype.userConfirm = function(aMessage) {
- if (this._testManager._params.shouldSuppressDialogs()) // todo: huh?
- return false;
- else
- return confirm(aMessage);
-}
-
-JsUnit.ClassicUiManager.prototype.addedTraceData = function(theTest, traceMessage) {
- if (this.getTraceLevel().matches(traceMessage.traceLevel)) {
- var traceString = traceMessage.message;
- if (traceMessage.value)
- traceString += ': ' + traceMessage.value;
- var prefix = theTest.testPage.url + ":" + theTest.testName + " - ";
- this._writeToTraceWindow(prefix, traceString, traceMessage.traceLevel);
- }
-}
-
-JsUnit.ClassicUiManager.prototype._writeToTraceWindow = function(prefix, traceString, traceLevel) {
- var htmlToAppend = '' + prefix + '' + traceString + '<\/p>\n';
- this._getTraceWindow().document.write(htmlToAppend);
-}
-
-JsUnit.ClassicUiManager.prototype._getTraceWindow = function() {
- if (this._traceWindow == null && !this._testManager._params.shouldSubmitResults() && !this.popupWindowsBlocked) {
- this._traceWindow = window.open('', '', 'width=600, height=350,status=no,resizable=yes,scrollbars=yes');
- if (!this._traceWindow)
- this.popupWindowsBlocked = true;
- else {
- var resDoc = this._traceWindow.document;
- resDoc.write('\n
\n\nTracing - JsUnit<\/title>\n\n ');
- resDoc.write('Tracing - JsUnit<\/h2>\n');
- resDoc.write('
(Traces are color coded: ');
- resDoc.write('Warning - ');
- resDoc.write('Information - ');
- resDoc.write('Debug');
- resDoc.write(')
');
- }
- }
- return this._traceWindow;
-}
-
-JsUnit.ClassicUiManager.prototype.learnedOfTestPage = function() {
-}
diff --git a/scripts/jsunit/app/ModernUiManager.js b/scripts/jsunit/app/ModernUiManager.js
deleted file mode 100644
index c224ed246..000000000
--- a/scripts/jsunit/app/ModernUiManager.js
+++ /dev/null
@@ -1,282 +0,0 @@
-Function.prototype.bind = function() {
- var __method = this, args = Array.prototype.slice.call(arguments, 1), object = arguments[0];
- return function() {
- return __method.apply(object, args.concat(Array.prototype.slice.call(arguments)));
- }
-}
-
-JsUnit.ModernUiManager = function(testManager) {
- this._testManager = testManager;
-
- this._recentlyUpdated = [];
- this._recentlyUpdatedClearTime = 0;
-}
-
-JsUnit.Util.inherit(JsUnit.BaseUiManager, JsUnit.ModernUiManager);
-
-JsUnit.ModernUiManager.prototype.onLoad = function(uiWindow) {
- this._uiWindow = uiWindow;
- this._uiDoc = uiWindow.document;
-
- this._testFileInput = this._uiDoc.getElementById("testFileInput");
-
- this._statusTextNode = this._findTextNode("status");
- this._runCountTextNode = this._findTextNode("runCount");
- this._errorCountTextNode = this._findTextNode("errorCount");
- this._failureCountTextNode = this._findTextNode("failureCount");
- this._elapsedTimeTextNode = this._findTextNode("elapsedTime");
-
- this._progressBar = this._uiDoc.getElementById("progress");
-
- // tests info area
- this._testsInfoDiv = this._uiDoc.getElementById("testsInfo");
- this._testsInfoCompleteDiv = this._uiDoc.getElementById("testsInfoComplete");
- this._testsInfoCurrentSuiteDiv = this._uiDoc.getElementById("testsInfoCurrentSuite");
- this._testsInfoCurrentTestTextNode = this._findTextNode("testsInfoCurrentTest");
-
- this._testResultTestDiv = this._uiDoc.getElementById("testResultTest");
- this._testResultDetailsDiv = this._uiDoc.getElementById("testResultDetails");
-
- this.showPassed(false);
-}
-
-JsUnit.ModernUiManager.prototype.getUiFrameUrl = function() {
- return './app/modernUi.html';
-}
-
-JsUnit.ModernUiManager.prototype.getTestFileName = function() {
- return this._testFileInput.value;
-}
-
-JsUnit.ModernUiManager.prototype.getTraceLevel = function() {
- return JsUnitTraceLevel.NONE;
-}
-
-JsUnit.ModernUiManager.prototype.starting = function () {
- this._testsInfoCompleteDiv.innerHTML = '';
- this._testResultDetailsDiv.innerHTML = '';
-}
-
-JsUnit.ModernUiManager.prototype.submittingResults = function () {
-}
-
-JsUnit.ModernUiManager.prototype.showMessageForSelectedProblemTest = function () {
-}
-
-JsUnit.ModernUiManager.prototype.showMessagesForAllProblemTests = function () {
-}
-
-JsUnit.ModernUiManager.prototype.showLog = function() {
-}
-
-JsUnit.ModernUiManager.prototype.fatalError = function(aMessage) {
- if (this._testManager._params.shouldSuppressDialogs()) // todo: huh?
- this.setStatus(aMessage);
- else
- alert(aMessage);
-}
-
-JsUnit.ModernUiManager.prototype.userConfirm = function(aMessage) {
- if (this._testManager._params.shouldSuppressDialogs()) // todo: huh?
- return false;
- else
- return confirm(aMessage);
-}
-
-Object.extend = function(obj, extendWith) {
- for (var name in extendWith) {
- obj[name] = extendWith[name];
- }
-}
-
-Object.extend(JsUnit.ModernUiManager.prototype, {
- _findTextNode: function(id) {
- var element = this._uiDoc.getElementById(id);
- if (element.childNodes.length == 1) {
- return element.childNodes[0];
- }
- var node = this._uiDoc.createTextNode("");
- element.appendChild(node);
- return node;
- },
-
- _setSpanText: function(span, text) {
- span.innerHTML = text;
- },
-
- _setTextNode: function(textNode, text) {
- textNode.data = text;
- },
-
- setStatus: function(str) {
- this._setTextNode(this._statusTextNode, str);
- },
-
- _addRecentlyUpdated: function(element) {
- var cssClasses = element.getAttribute("class");
- if (cssClasses.indexOf(" recentlyUpdated") > -1) return;
-
- element.setAttribute("class", cssClasses + " recentlyUpdated");
- this._recentlyUpdated.push(element);
-
- this._testsInfoDiv.scrollTop = element.offsetTop - 30;
- },
-
- _clearRecentlyUpdated: function(clearAll) {
- if (this._recentlyUpdated.length == 0) return;
-
- var time = new Date().getTime();
- if (!clearAll && time < this._recentlyUpdatedClearTime + 250) return;
- this._recentlyUpdatedClearTime = time;
- var lastToClear = this._recentlyUpdated.length;
- if (!clearAll) lastToClear--;
- for (var i = 0; i < lastToClear; i++) {
- var element = this._recentlyUpdated[i];
- var cssClasses = element.getAttribute("class").replace(" recentlyUpdated", "");
- element.setAttribute("class", cssClasses);
- }
- },
-
- finishing: function () {
- this._clearRecentlyUpdated(true);
- this._setTextNode(this._testsInfoCurrentTestTextNode, "");
- },
-
- _setProgressBarImage: function (imgName) {
- this._progressBar.src = imgName;
- },
-
- _setProgressBarWidth: function (w) {
- this._progressBar.width = w;
- },
-
- updateProgressIndicators: function (totalCount, errorCount, failureCount, progressBarProportion) {
- this._setTextNode(this._runCountTextNode, totalCount);
- this._setTextNode(this._errorCountTextNode, errorCount);
- this._setTextNode(this._failureCountTextNode, failureCount);
- this._setProgressBarWidth(300 * progressBarProportion);
-
- if (errorCount > 0 || failureCount > 0)
- this._setProgressBarImage('../images/red.gif');
- else
- this._setProgressBarImage('../images/green.gif');
-
-// this._setTextNode(this._elapsedTimeTextNode, this.elapsedTime());
- },
-
- learnedOfTestPage: function(testPage) {
- testPage.headerElement = this._uiDoc.createElement("li");
- testPage.headerElement.innerHTML = testPage.url;
-
- testPage.testListElement = this._uiDoc.createElement("ul");
-
- this._testsInfoCompleteDiv.appendChild(testPage.headerElement);
- this._testsInfoCompleteDiv.appendChild(testPage.testListElement);
-
- this._testPageUpdate(testPage, JsUnit.TestPage.STATUS_CHANGE_EVENT);
- testPage.listen(this._testPageUpdate.bind(this));
- },
-
- _testPageUpdate: function(testPage, event) {
- if (event == JsUnit.TestPage.READY_EVENT) {
- for (var i = 0; i < testPage.tests.length; i++) {
- var theTest = testPage.tests[i];
- theTest.listen(this.testCompleted.bind(this));
- this._displayTestResult(theTest);
- }
- }
- testPage.headerElement.setAttribute("class", "testPage " + testPage.getStatus());
- this._addRecentlyUpdated(testPage.headerElement);
- },
-
- testCompleted: function(test) {
- this._updateTestResultStatus(test);
- },
-
-
- _showDetails: function(theTest) {
- var div = theTest.div;
- this._testResultTestDiv.innerHTML = theTest.testPage.url + "." + theTest.testName;
- var text;
- switch (theTest.status) {
- case 'success':
- text = "Test succeeded!";
- break;
- case 'failure':
- case 'error':
- text = theTest.message + ":\n";
- text += this.problemDetailMessageFor(theTest.exception);
- break;
- default:
- throw new Error("unknown status '" + theTest.status + "'");
- }
-
- var traceMessages = theTest.traceMessages;
- if (traceMessages.length > 0) {
- text += "";
- for (var i = 0; i < traceMessages.length; i++) {
- text += "";
- text += traceMessages[i].message;
- text += "\n";
- }
- text += "
";
- }
-
- text = this.makeHTMLSafe(text).split('\n').join("\n
\n");
- text = text.replace(/(Stack trace follows:\n)/, "$1") + "";
- this._testResultDetailsDiv.innerHTML = text;
- },
-
- _displayTestResult: function(theTest) {
- var timeTaken = theTest.timeTaken;
-
- var manager = this;
- var clicked = function() {
- manager._showDetails.call(manager, theTest);
- };
-
- var div = this._createItem(" " + theTest.testName, theTest.status, clicked);
- theTest.div = div;
- theTest.testPage.testListElement.appendChild(div);
- this._updateTestResultStatus(theTest);
-
- this._testPageUpdate(theTest.testPage);
- this._clearRecentlyUpdated(false);
- },
-
- _updateTestResultStatus: function(theTest) {
- var element = theTest.div;
- element.setAttribute("class", "testResult " + theTest.status);
- this._addRecentlyUpdated(element);
- },
-
- _createItem: function(name, status, onClick) {
- var div = this._uiDoc.createElement("li");
- if (div.addEventListener) {
- div.addEventListener("click", onClick, true);
- } else if (div.attachEvent) {
- div.attachEvent('on' + "click", onClick);
- }
-
-// div.addNode(document.createTextNode(theTest.getFunctionName()));
- div.innerHTML = name;
- return div;
- },
-
- _displayTestException: function(problemValue, problemMessage) {
- var listField = this.problemsListField;
- this._addOption(listField, problemValue, problemMessage);
- },
-
- addedTraceData: function(theTest, traceMessage) {
- },
-
- showPassed: function(shouldShow) {
- this._testsInfoCompleteDiv.setAttribute("class", shouldShow ? "showPassed" : "hidePassed");
- },
-
- _last: null
-
-});
-
-
diff --git a/scripts/jsunit/app/css/jsUnitStyle.css b/scripts/jsunit/app/css/jsUnitStyle.css
deleted file mode 100644
index a6ba3cc62..000000000
--- a/scripts/jsunit/app/css/jsUnitStyle.css
+++ /dev/null
@@ -1,103 +0,0 @@
-body {
- margin-top: 0;
- margin-bottom: 0;
- font-family: Trebuchet MS, Verdana, Arial, Sans-serif;
- color: #000;
- font-size: 0.8em;
-}
-
-.button {
- color: #000000;
- font-family: 'trebuchet ms', helvetica, sans-serif;
- font-size: 100%;
- font-weight: bold;
- background-color: #dddddd;
- border: 1px solid;
- border-top-color: #696;
- border-left-color: #696;
- border-right-color: #363;
- border-bottom-color: #363;
-}
-
-table {
- font-size: 1em;
-}
-
-a:link, a:visited {
- color: #0000AA;
- text-decoration: underline;
-}
-
-a:hover {
- color: #810;
- text-decoration: underline;
-}
-
-h1 {
- font-size: 1.2em;
- font-weight: bold;
- color: #039;
- font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif;
-}
-
-h2 {
- font-weight: bold;
- color: #039;
- font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif;
-}
-
-h3 {
- font-weight: bold;
- color: #039;
- text-decoration: underline;
- font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif;
-}
-
-h4 {
- color: #039;
- font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif;
- font-size: 1em;
-}
-
-.jsUnitTestResultSuccess {
- color: #000;
-}
-
-.jsUnitTestResultNotSuccess {
- color: #F00;
-}
-
-.rb0roundbox {
- background: url( ../images/nt0.gif ) repeat;
-}
-
-.rb0top div {
- background: url( ../images/tl0.gif ) no-repeat top left;
-}
-
-.rb0top {
- background: url( ../images/tr0.gif ) no-repeat top right;
-}
-
-.rb0bot div {
- background: url( ../images/bl0.gif ) no-repeat bottom left;
-}
-
-.rb0bot {
- background: url( ../images/br0.gif ) no-repeat bottom right;
-}
-
-.rb0top div, .rb0top, .rb0bot div, .rb0bot {
- width: 100%;
- height: 7px;
- font-size: 1px;
-}
-
-.rb0content {
- margin: 0 7px;
-}
-
-.rb0roundbox {
- width: 100%;
- margin: 4px auto;
-}
diff --git a/scripts/jsunit/app/css/modernStyle.css b/scripts/jsunit/app/css/modernStyle.css
deleted file mode 100644
index 88ca9b387..000000000
--- a/scripts/jsunit/app/css/modernStyle.css
+++ /dev/null
@@ -1,136 +0,0 @@
-html, body {
- margin: 0;
- padding: 0;
- height: 100%;
- font-family: Trebuchet MS, Verdana, Arial, Sans-serif;
- color: #000;
- font-size: 0.9em;
-}
-
-a:link, a:visited {
- color: #0000AA;
- text-decoration: underline;
-}
-
-a:hover {
- color: #810;
- text-decoration: underline;
-}
-
-img {
- border: none;
-}
-
-blockquote {
- margin: 2px 10px;
-}
-
-ul {
- padding-left: 10px;
- list-style: none;
-}
-
-li {
-}
-
-#infoPanel {
- width: 100%;
-}
-
-#ident {
- font-size: 1.5em;
-}
-
-#browserInfo {
-}
-
-#pivotalLogo {
- padding-top: 5px;
-}
-
-#resultsArea {
- width: 100%;
-}
-
-#resultsArea td {
- width: 50%;
- border: 1px solid black;
- vertical-align: top;
-}
-
-#resultsArea td.header {
- border: none;
-}
-
-#testResult {
- width: 100%;
- height: 100%;
- padding: 0px;
- margin: 0px;
-}
-
-#traceLevelDiv, #timeoutOptionsDiv {
- float: right;
- padding: 3px;
- border: 1px solid black;
-}
-
-#testsInfo {
- width: 100%;
- height: 200px;
- overflow: scroll;
-}
-
-.testPage {
- font-weight: bold;
-}
-
-.testPage, .testResult {
- width: 100%;
-}
-
-.testPage:hover, .testResult:hover {
- background-color: #eeeeee;
-}
-
-.running {
- color: orange;
-}
-
-.recentlyUpdated {
- display: block !important;
-}
-
-.noTestsYet {
- color: lightgray;
-}
-
-.ready {
- color: gray;
-}
-
-.running {
- color: yellow;
-}
-
-.success {
- color: green;
-}
-
-.failure {
- color: orange;
-}
-
-.error {
- color: red;
-}
-
-.hidePassed .success {
- display: none;
-}
-
-.stackTrace {
- display: block;
- padding-left: 1em;
- color: red;
-}
diff --git a/scripts/jsunit/app/emptyPage.html b/scripts/jsunit/app/emptyPage.html
deleted file mode 100644
index 7b8a25d07..000000000
--- a/scripts/jsunit/app/emptyPage.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- emptyPage
-
-
-
-
-
-
diff --git a/scripts/jsunit/app/jsUnitCore.js b/scripts/jsunit/app/jsUnitCore.js
deleted file mode 100644
index f1fdd154c..000000000
--- a/scripts/jsunit/app/jsUnitCore.js
+++ /dev/null
@@ -1,977 +0,0 @@
-/**
- * @fileoverview
- * jsUnitCore.js contains the implementation of the core JsUnit functionality: assertions, JsUnitTestSuites, and JsUnit.Failure.
- * An HTML page is considered to be a JsUnit Test Page if it "includes" jsUnitCore.js, i.e. the following line is present:
- *
- * <script type="text/javascript" src="/path/to/jsUnitCore.js"></script>
- *
- * @author Edward Hieatt, edward@jsunit.net, http://www.jsunit.net
- */
-
-var JsUnit = {};
-
-/**
- * The JsUnit version
- * @version
- */
-JsUnit.VERSION = 2.2;
-var JSUNIT_VERSION = JsUnit.VERSION;
-
-/**
- * For convenience, a variable that equals "undefined"
- */
-var JSUNIT_UNDEFINED_VALUE;
-
-/**
- * Whether or not the current test page has been (completely) loaded yet
- */
-var isTestPageLoaded = false;
-
-/**
- * Predicate used for testing JavaScript == (i.e. equality excluding type)
- */
-JsUnit.DOUBLE_EQUALITY_PREDICATE = function(var1, var2) {return var1 == var2;};
-
-/**
- * Predicate used for testing JavaScript === (i.e. equality including type)
- */
-JsUnit.TRIPLE_EQUALITY_PREDICATE = function(var1, var2) {return var1 === var2;};
-
-/**
- * Predicate used for testing whether two obects' toStrings are equal
- */
-JsUnit.TO_STRING_EQUALITY_PREDICATE = function(var1, var2) {return var1.toString() === var2.toString();};
-
-/**
- * Hash of predicates for testing equality by primitive type
- */
-JsUnit.PRIMITIVE_EQUALITY_PREDICATES = {
- 'String': JsUnit.DOUBLE_EQUALITY_PREDICATE,
- 'Number': JsUnit.DOUBLE_EQUALITY_PREDICATE,
- 'Boolean': JsUnit.DOUBLE_EQUALITY_PREDICATE,
- 'Date': JsUnit.TRIPLE_EQUALITY_PREDICATE,
- 'RegExp': JsUnit.TO_STRING_EQUALITY_PREDICATE,
- 'Function': JsUnit.TO_STRING_EQUALITY_PREDICATE
-}
-
-/**
- * Hack for NS62 bug
- * @private
- */
-JsUnit._fixTop = function() {
- var tempTop = top;
- if (!tempTop) {
- tempTop = window;
- while (tempTop.parent) {
- tempTop = tempTop.parent;
- if (tempTop.top && tempTop.top.jsUnitTestSuite) {
- tempTop = tempTop.top;
- break;
- }
- }
- }
- try {
- window.top = tempTop;
- } catch (e) {
- }
-}
-
-JsUnit._fixTop();
-
-/**
- * @param Any object
- * @return String - the type of the given object
- * @private
- */
-JsUnit._trueTypeOf = function(something) {
- var result = typeof something;
- try {
- switch (result) {
- case 'string':
- break;
- case 'boolean':
- break;
- case 'number':
- break;
- case 'object':
- case 'function':
- switch (something.constructor) {
- case new String().constructor:
- result = 'String';
- break;
- case new Boolean().constructor:
- result = 'Boolean';
- break;
- case new Number().constructor:
- result = 'Number';
- break;
- case new Array().constructor:
- result = 'Array';
- break;
- case new RegExp().constructor:
- result = 'RegExp';
- break;
- case new Date().constructor:
- result = 'Date';
- break;
- case Function:
- result = 'Function';
- break;
- default:
- var m = something.constructor.toString().match(/function\s*([^( ]+)\(/);
- if (m)
- result = m[1];
- else
- break;
- }
- break;
- }
- }
- finally {
- result = result.substr(0, 1).toUpperCase() + result.substr(1);
- return result;
- }
-}
-
-/**
- * @private
- */
-JsUnit._displayStringForValue = function(aVar) {
- var result = '<' + aVar + '>';
- if (!(aVar === null || aVar === JSUNIT_UNDEFINED_VALUE)) {
- result += ' (' + JsUnit._trueTypeOf(aVar) + ')';
- }
- return result;
-}
-
-/**
- * @private
- */
-JsUnit._argumentsIncludeComments = function(expectedNumberOfNonCommentArgs, args) {
- return args.length == expectedNumberOfNonCommentArgs + 1;
-}
-/**
- * @private
- */
-JsUnit._commentArg = function(expectedNumberOfNonCommentArgs, args) {
- if (JsUnit._argumentsIncludeComments(expectedNumberOfNonCommentArgs, args))
- return args[0];
-
- return null;
-}
-/**
- * @private
- */
-JsUnit._nonCommentArg = function(desiredNonCommentArgIndex, expectedNumberOfNonCommentArgs, args) {
- return JsUnit._argumentsIncludeComments(expectedNumberOfNonCommentArgs, args) ?
- args[desiredNonCommentArgIndex] :
- args[desiredNonCommentArgIndex - 1];
-}
-
-/**
- * @private
- */
-JsUnit._validateArguments = function(expectedNumberOfNonCommentArgs, args) {
- if (!( args.length == expectedNumberOfNonCommentArgs ||
- (args.length == expectedNumberOfNonCommentArgs + 1 && (typeof(args[0]) == 'string') || args[0] == null)))
- throw new JsUnit.AssertionArgumentError('Incorrect arguments passed to assert function');
-}
-
-/**
- * @private
- */
-JsUnit._checkEquals = function(var1, var2) {
- return var1 === var2;
-}
-
-/**
- * @private
- */
-JsUnit._checkNotUndefined = function(aVar) {
- return aVar !== JSUNIT_UNDEFINED_VALUE;
-}
-
-/**
- * @private
- */
-JsUnit._checkNotNull = function(aVar) {
- return aVar !== null;
-}
-
-/**
- * All assertions ultimately go through this method.
- * @private
- */
-JsUnit._assert = function(comment, booleanValue, failureMessage) {
- if (!booleanValue)
- throw new JsUnit.Failure(comment, failureMessage);
-}
-
-/**
- * Checks that the given boolean value is true.
- * @param comment optional, displayed in the case of failure
- * @value value that is expected to be true
- * @throws JsUnit.Failure if the given value is not true
- * @throws JsUnitInvalidAssertionArgument if the given value is not a boolean or if an incorrect number of arguments is passed
- */
-function assert() {
- JsUnit._validateArguments(1, arguments);
- var booleanValue = JsUnit._nonCommentArg(1, 1, arguments);
-
- if (typeof(booleanValue) != 'boolean')
- throw new JsUnit.AssertionArgumentError('Bad argument to assert(boolean)');
-
- JsUnit._assert(JsUnit._commentArg(1, arguments), booleanValue === true, 'Call to assert(boolean) with false');
-}
-
-/**
- * Synonym for assertTrue
- * @see #assert
- */
-function assertTrue() {
- JsUnit._validateArguments(1, arguments);
- assert(JsUnit._commentArg(1, arguments), JsUnit._nonCommentArg(1, 1, arguments));
-}
-
-/**
- * Checks that a boolean value is false.
- * @param comment optional, displayed in the case of failure
- * @value value that is expected to be false
- * @throws JsUnit.Failure if value is not false
- * @throws JsUnitInvalidAssertionArgument if the given value is not a boolean or if an incorrect number of arguments is passed
- */
-function assertFalse() {
- JsUnit._validateArguments(1, arguments);
- var booleanValue = JsUnit._nonCommentArg(1, 1, arguments);
-
- if (typeof(booleanValue) != 'boolean')
- throw new JsUnit.AssertionArgumentError('Bad argument to assertFalse(boolean)');
-
- JsUnit._assert(JsUnit._commentArg(1, arguments), booleanValue === false, 'Call to assertFalse(boolean) with true');
-}
-
-/**
- * Checks that two values are equal (using ===)
- * @param comment optional, displayed in the case of failure
- * @param expected the expected value
- * @param actual the actual value
- * @throws JsUnit.Failure if the values are not equal
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertEquals() {
- JsUnit._validateArguments(2, arguments);
- var var1 = JsUnit._nonCommentArg(1, 2, arguments);
- var var2 = JsUnit._nonCommentArg(2, 2, arguments);
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkEquals(var1, var2), 'Expected ' + JsUnit._displayStringForValue(var1) + ' but was ' + JsUnit._displayStringForValue(var2));
-}
-
-/**
- * Checks that two values are not equal (using !==)
- * @param comment optional, displayed in the case of failure
- * @param value1 a value
- * @param value2 another value
- * @throws JsUnit.Failure if the values are equal
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertNotEquals() {
- JsUnit._validateArguments(2, arguments);
- var var1 = JsUnit._nonCommentArg(1, 2, arguments);
- var var2 = JsUnit._nonCommentArg(2, 2, arguments);
- JsUnit._assert(JsUnit._commentArg(2, arguments), var1 !== var2, 'Expected not to be ' + JsUnit._displayStringForValue(var2));
-}
-
-/**
- * Checks that a value is null
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the value is not null
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertNull() {
- JsUnit._validateArguments(1, arguments);
- var aVar = JsUnit._nonCommentArg(1, 1, arguments);
- JsUnit._assert(JsUnit._commentArg(1, arguments), aVar === null, 'Expected ' + JsUnit._displayStringForValue(null) + ' but was ' + JsUnit._displayStringForValue(aVar));
-}
-
-/**
- * Checks that a value is not null
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the value is null
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertNotNull() {
- JsUnit._validateArguments(1, arguments);
- var aVar = JsUnit._nonCommentArg(1, 1, arguments);
- JsUnit._assert(JsUnit._commentArg(1, arguments), JsUnit._checkNotNull(aVar), 'Expected not to be ' + JsUnit._displayStringForValue(null));
-}
-
-/**
- * Checks that a value is undefined
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the value is not undefined
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertUndefined() {
- JsUnit._validateArguments(1, arguments);
- var aVar = JsUnit._nonCommentArg(1, 1, arguments);
- JsUnit._assert(JsUnit._commentArg(1, arguments), aVar === JSUNIT_UNDEFINED_VALUE, 'Expected ' + JsUnit._displayStringForValue(JSUNIT_UNDEFINED_VALUE) + ' but was ' + JsUnit._displayStringForValue(aVar));
-}
-
-/**
- * Checks that a value is not undefined
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the value is undefined
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertNotUndefined() {
- JsUnit._validateArguments(1, arguments);
- var aVar = JsUnit._nonCommentArg(1, 1, arguments);
- JsUnit._assert(JsUnit._commentArg(1, arguments), JsUnit._checkNotUndefined(aVar), 'Expected not to be ' + JsUnit._displayStringForValue(JSUNIT_UNDEFINED_VALUE));
-}
-
-/**
- * Checks that a value is NaN (Not a Number)
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the value is a number
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertNaN() {
- JsUnit._validateArguments(1, arguments);
- var aVar = JsUnit._nonCommentArg(1, 1, arguments);
- JsUnit._assert(JsUnit._commentArg(1, arguments), isNaN(aVar), 'Expected NaN');
-}
-
-/**
- * Checks that a value is not NaN (i.e. is a number)
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the value is not a number
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertNotNaN() {
- JsUnit._validateArguments(1, arguments);
- var aVar = JsUnit._nonCommentArg(1, 1, arguments);
- JsUnit._assert(JsUnit._commentArg(1, arguments), !isNaN(aVar), 'Expected not NaN');
-}
-
-/**
- * Checks that an object is equal to another using === for primitives and their object counterparts but also desceding
- * into collections and calling assertObjectEquals for each element
- * @param comment optional, displayed in the case of failure
- * @param value the expected value
- * @param value the actual value
- * @throws JsUnit.Failure if the actual value does not equal the expected value
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertObjectEquals() {
- JsUnit._validateArguments(2, arguments);
- var var1 = JsUnit._nonCommentArg(1, 2, arguments);
- var var2 = JsUnit._nonCommentArg(2, 2, arguments);
- var failureMessage = JsUnit._commentArg(2, arguments) ? JsUnit._commentArg(2, arguments) : '';
- if (var1 === var2)
- return;
-
- var isEqual = false;
-
- var typeOfVar1 = JsUnit._trueTypeOf(var1);
- var typeOfVar2 = JsUnit._trueTypeOf(var2);
-
- if (typeOfVar1 == typeOfVar2) {
- var primitiveEqualityPredicate = JsUnit.PRIMITIVE_EQUALITY_PREDICATES[typeOfVar1];
- if (primitiveEqualityPredicate) {
- isEqual = primitiveEqualityPredicate(var1, var2);
- } else {
- var expectedKeys = JsUnit.Util.getKeys(var1).sort().join(", ");
- var actualKeys = JsUnit.Util.getKeys(var2).sort().join(", ");
- if (expectedKeys != actualKeys) {
- JsUnit._assert(failureMessage, false, 'Expected keys "' + expectedKeys + '" but found "' + actualKeys + '"');
- }
- for (var i in var1) {
- assertObjectEquals(failureMessage + ' found nested ' + typeOfVar1 + '@' + i + '\n', var1[i], var2[i]);
- }
- isEqual = true;
- }
- }
- JsUnit._assert(failureMessage, isEqual, 'Expected ' + JsUnit._displayStringForValue(var1) + ' but was ' + JsUnit._displayStringForValue(var2));
-}
-
-/**
- * Checks that an array is equal to another by checking that both are arrays and then comparing their elements using assertObjectEquals
- * @param comment optional, displayed in the case of failure
- * @param value the expected array
- * @param value the actual array
- * @throws JsUnit.Failure if the actual value does not equal the expected value
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertArrayEquals() {
- JsUnit._validateArguments(2, arguments);
- var array1 = JsUnit._nonCommentArg(1, 2, arguments);
- var array2 = JsUnit._nonCommentArg(2, 2, arguments);
- if (JsUnit._trueTypeOf(array1) != 'Array' || JsUnit._trueTypeOf(array2) != 'Array') {
- throw new JsUnit.AssertionArgumentError('Non-array passed to assertArrayEquals');
- }
- assertObjectEquals(JsUnit._commentArg(2, arguments), JsUnit._nonCommentArg(1, 2, arguments), JsUnit._nonCommentArg(2, 2, arguments));
-}
-
-/**
- * Checks that a value evaluates to true in the sense that value == true
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the actual value does not evaluate to true
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertEvaluatesToTrue() {
- JsUnit._validateArguments(1, arguments);
- var value = JsUnit._nonCommentArg(1, 1, arguments);
- if (!value)
- fail(JsUnit._commentArg(1, arguments));
-}
-
-/**
- * Checks that a value evaluates to false in the sense that value == false
- * @param comment optional, displayed in the case of failure
- * @param value the value
- * @throws JsUnit.Failure if the actual value does not evaluate to true
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertEvaluatesToFalse() {
- JsUnit._validateArguments(1, arguments);
- var value = JsUnit._nonCommentArg(1, 1, arguments);
- if (value)
- fail(JsUnit._commentArg(1, arguments));
-}
-
-/**
- * Checks that a value is the same as an HTML string by "standardizing" both and comparing the result for equality.
- * Standardizing is done by temporarily creating a DIV, setting the innerHTML of the DIV to the string, and asking for
- * the innerHTML back.
- * @param comment optional, displayed in the case of failure
- * @param value1 the expected HTML string
- * @param value2 the actual HTML string
- * @throws JsUnit.Failure if the standardized actual value does not equal the standardized expected value
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertHTMLEquals() {
- JsUnit._validateArguments(2, arguments);
- var var1 = JsUnit._nonCommentArg(1, 2, arguments);
- var var2 = JsUnit._nonCommentArg(2, 2, arguments);
- var var1Standardized = JsUnit.Util.standardizeHTML(var1);
- var var2Standardized = JsUnit.Util.standardizeHTML(var2);
-
- JsUnit._assert(JsUnit._commentArg(2, arguments), var1Standardized === var2Standardized, 'Expected ' + JsUnit._displayStringForValue(var1Standardized) + ' but was ' + JsUnit._displayStringForValue(var2Standardized));
-}
-
-/**
- * Checks that a hash is has the same contents as another by iterating over the expected hash and checking that each
- * key's value is present in the actual hash and calling assertEquals on the two values, and then checking that there is
- * no key in the actual hash that isn't present in the expected hash.
- * @param comment optional, displayed in the case of failure
- * @param value the expected hash
- * @param value the actual hash
- * @throws JsUnit.Failure if the actual hash does not evaluate to true
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertHashEquals() {
- JsUnit._validateArguments(2, arguments);
- var var1 = JsUnit._nonCommentArg(1, 2, arguments);
- var var2 = JsUnit._nonCommentArg(2, 2, arguments);
- for (var key in var1) {
- assertNotUndefined("Expected hash had key " + key + " that was not found", var2[key]);
- assertEquals(
- "Value for key " + key + " mismatch - expected = " + var1[key] + ", actual = " + var2[key],
- var1[key], var2[key]
- );
- }
- for (var key in var2) {
- assertNotUndefined("Actual hash had key " + key + " that was not expected", var1[key]);
- }
-}
-
-/**
- * Checks that two value are within a tolerance of one another
- * @param comment optional, displayed in the case of failure
- * @param value1 a value
- * @param value1 another value
- * @param tolerance the tolerance
- * @throws JsUnit.Failure if the two values are not within tolerance of each other
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments is passed
- */
-function assertRoughlyEquals() {
- JsUnit._validateArguments(3, arguments);
- var expected = JsUnit._nonCommentArg(1, 3, arguments);
- var actual = JsUnit._nonCommentArg(2, 3, arguments);
- var tolerance = JsUnit._nonCommentArg(3, 3, arguments);
- assertTrue(
- "Expected " + expected + ", but got " + actual + " which was more than " + tolerance + " away",
- Math.abs(expected - actual) < tolerance
- );
-}
-
-/**
- * Checks that a collection contains a value by checking that collection.indexOf(value) is not -1
- * @param comment optional, displayed in the case of failure
- * @param collection the collection
- * @param value the value
- * @throws JsUnit.Failure if the collection does not contain the value
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments are passed
- */
-function assertContains() {
- JsUnit._validateArguments(2, arguments);
- var value = JsUnit._nonCommentArg(1, 2, arguments);
- var collection = JsUnit._nonCommentArg(2, 2, arguments);
- assertTrue(
- "Expected '" + collection + "' to contain '" + value + "'",
- collection.indexOf(value) != -1
- );
-}
-
-/**
- * Checks that two arrays have the same contents, ignoring the order of the contents
- * @param comment optional, displayed in the case of failure
- * @param array1 first array
- * @param array2 second array
- * @throws JsUnit.Failure if the two arrays contain different contents
- * @throws JsUnitInvalidAssertionArgument if an incorrect number of arguments are passed
- */
-function assertArrayEqualsIgnoringOrder() {
- JsUnit._validateArguments(2, arguments);
- var var1 = JsUnit._nonCommentArg(1, 2, arguments);
- var var2 = JsUnit._nonCommentArg(2, 2, arguments);
-
- var notEqualsMessage = "Expected arrays " + JsUnit._displayStringForValue(var1) + " and " + JsUnit._displayStringForValue(var2) + " to be equal (ignoring order)";
- var notArraysMessage = "Expected arguments " + JsUnit._displayStringForValue(var1) + " and " + JsUnit._displayStringForValue(var2) + " to be arrays";
-
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkNotNull(var1), notEqualsMessage);
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkNotNull(var2), notEqualsMessage);
-
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkNotUndefined(var1.length), notArraysMessage);
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkNotUndefined(var1.join), notArraysMessage);
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkNotUndefined(var2.length), notArraysMessage);
- JsUnit._assert(JsUnit._commentArg(2, arguments), JsUnit._checkNotUndefined(var2.join), notArraysMessage);
-
- JsUnit._assert(JsUnit._commentArg(1, arguments), JsUnit._checkEquals(var1.length, var2.length), notEqualsMessage);
-
- for (var i = 0; i < var1.length; i++) {
- var found = false;
- for (var j = 0; j < var2.length; j++) {
- try {
- assertObjectEquals(notEqualsMessage, var1[i], var2[j]);
- found = true;
- } catch (ignored) {
- }
- }
- JsUnit._assert(JsUnit._commentArg(2, arguments), found, notEqualsMessage);
- }
-}
-
-/**
- * Synonym for assertArrayEqualsIgnoringOrder
- * @see #assertArrayEqualsIgnoringOrder
- */
-function assertEqualsIgnoringOrder() {
- JsUnit._validateArguments(2, arguments);
- assertArrayEqualsIgnoringOrder(JsUnit._commentArg(2, arguments), JsUnit._nonCommentArg(1, 2, arguments), JsUnit._nonCommentArg(2, 2, arguments));
-}
-
-/**
- * Causes a failure
- * @param failureMessage the message for the failure
- */
-function fail(failureMessage) {
- throw new JsUnit.Failure("Call to fail()", failureMessage);
-}
-
-/**
- * Causes an error
- * @param errorMessage the message for the error
- */
-function error(errorMessage) {
- throw new JsUnitError(errorMessage);
-}
-
-/**
- * @class
- * A JsUnit.Failure represents an assertion failure (or a call to fail()) during the execution of a Test Function
- * @param comment an optional comment about the failure
- * @param message the reason for the failure
- */
-JsUnit.Failure = function(comment, message) {
- /**
- * Declaration that this is a JsUnit.Failure
- * @ignore
- */
- this.isJsUnitFailure = true;
- /**
- * An optional comment about the failure
- */
- this.comment = comment;
- /**
- * The reason for the failure
- */
- this.jsUnitMessage = message;
- /**
- * The stack trace at the point at which the failure was encountered
- */
- this.stackTrace = JsUnit.Util.getStackTrace();
-}
-
-/**
- * @deprecated
- */
-JsUnitFailure = JsUnit.Failure;
-
-/**
- * @class
- * A JsUnitError represents an error (an exception or a call to error()) during the execution of a Test Function
- * @param description the reason for the failure
- */
-JsUnit.Error = function(description) {
- /**
- * The description of the error
- */
- this.description = description;
- /**
- * The stack trace at the point at which the error was encountered
- */
- this.stackTrace = JsUnit.Util.getStackTrace();
-}
-
-/**
- * @deprecated
- */
-JsUnitError = JsUnit.Error;
-
-/**
- * @class
- * A JsUnitAssertionArgumentError represents an invalid call to an assertion function - either an invalid argument type
- * or an incorrect number of arguments
- * @param description a description of the argument error
- */
-JsUnit.AssertionArgumentError = function(description) {
- /**
- * A description of the argument error
- */
- this.description = description;
-}
-
-function isLoaded() {
- return isTestPageLoaded;
-}
-
-/**
- * @private
- */
-function setUp() {
-}
-
-/**
- * @private
- */
-function tearDown() {
-}
-
-function warn() {
- if (top.tracer != null)
- top.tracer.warn(arguments[0], arguments[1]);
-}
-
-function inform() {
- if (top.tracer != null)
- top.tracer.inform(arguments[0], arguments[1]);
-}
-
-function info() {
- inform(arguments[0], arguments[1]);
-}
-
-function debug() {
- if (top.tracer != null)
- top.tracer.debug(arguments[0], arguments[1]);
-}
-
-/**
- * @class
- * A JsUnitTestSuite represents a suite of JsUnit Test Pages. Test Pages and Test Suites can be added to a
- * JsUnitTestSuite
- * @constructor
- */
-function JsUnitTestSuite() {
- /**
- * Declares that this object is a JsUnitTestSuite
- */
- this.isJsUnitTestSuite = true;
- /**
- * @private
- */
- this._testPages = Array();
- /**
- * @private
- */
- this._pageIndex = 0;
-
- for (var i = 0; i < arguments.length; i++) {
- if (arguments[i]._testPages) {
- this.addTestSuite(arguments[i]);
- } else {
- this.addTestPage(arguments[i]);
- }
- }
-}
-
-/**
- * Adds a Test Page to the suite
- * @param pageName the path to the Test Page
- */
-JsUnitTestSuite.prototype.addTestPage = function (page) {
- this._testPages[this._testPages.length] = page;
-}
-
-/**
- * Adds a Test Suite to the suite
- * @param suite another JsUnitTestSuite object
- */
-
-JsUnitTestSuite.prototype.addTestSuite = function (suite) {
- for (var i = 0; i < suite._testPages.length; i++)
- this.addTestPage(suite._testPages[i]);
-}
-
-/**
- * Whether the suite contains any Test Pages
- */
-JsUnitTestSuite.prototype.containsTestPages = function () {
- return this._testPages.length > 0;
-}
-
-/**
- * Moves the suite on to its next Test Page
- */
-JsUnitTestSuite.prototype.nextPage = function () {
- return this._testPages[this._pageIndex++];
-}
-
-/**
- * Whether the suite has more Test Pages
- */
-JsUnitTestSuite.prototype.hasMorePages = function () {
- return this._pageIndex < this._testPages.length;
-}
-
-/**
- * Produces a copy of the suite
- */
-JsUnitTestSuite.prototype.clone = function () {
- var clone = new JsUnitTestSuite();
- clone._testPages = this._testPages;
- return clone;
-}
-
-//For legacy support - JsUnitTestSuite used to be called jsUnitTestSuite
-jsUnitTestSuite = JsUnitTestSuite;
-
-function setJsUnitTracer(aJsUnitTracer) {
- top.tracer = aJsUnitTracer;
-}
-
-function jsUnitGetParm(name) {
- return top.params.get(name);
-}
-
-JsUnit._newOnLoadEvent = function() {
- isTestPageLoaded = true;
-}
-
-JsUnit._setOnLoad = function(windowRef, onloadHandler) {
- var isKonqueror = navigator.userAgent.indexOf('Konqueror/') != -1;
-
- if (typeof(windowRef.attachEvent) != 'undefined') {
- // Internet Explorer, Opera
- windowRef.attachEvent("onload", onloadHandler);
- } else if (typeof(windowRef.addEventListener) != 'undefined' && !isKonqueror) {
- // Mozilla
- // exclude Konqueror due to load issues
- windowRef.addEventListener("load", onloadHandler, false);
- } else if (typeof(windowRef.document.addEventListener) != 'undefined' && !isKonqueror) {
- // DOM 2 Events
- // exclude Mozilla, Konqueror due to load issues
- windowRef.document.addEventListener("load", onloadHandler, false);
- } else if (typeof(windowRef.onload) != 'undefined' && windowRef.onload) {
- windowRef.jsunit_original_onload = windowRef.onload;
- windowRef.onload = function() {
- windowRef.jsunit_original_onload();
- onloadHandler();
- };
- } else {
- // browsers that do not support windowRef.attachEvent or
- // windowRef.addEventListener will override a page's own onload event
- windowRef.onload = onloadHandler;
- }
-}
-
-/**
- * @class
- * @constructor
- * Contains utility functions for the JsUnit framework
- */
-JsUnit.Util = {};
-
-/**
- * Standardizes an HTML string by temporarily creating a DIV, setting its innerHTML to the string, and the asking for
- * the innerHTML back
- * @param html
- */
-JsUnit.Util.standardizeHTML = function(html) {
- var translator = document.createElement("DIV");
- translator.innerHTML = html;
- return JsUnit.Util.trim(translator.innerHTML);
-}
-
-/**
- * Returns whether the given string is blank after being trimmed of whitespace
- * @param string
- */
-JsUnit.Util.isBlank = function(string) {
- return JsUnit.Util.trim(string) == '';
-}
-
-/**
- * Implemented here because the JavaScript Array.push(anObject) and Array.pop() functions are not available in IE 5.0
- * @param anArray the array onto which to push
- * @param anObject the object to push onto the array
- */
-JsUnit.Util.push = function(anArray, anObject) {
- anArray[anArray.length] = anObject;
-}
-
-/**
- * Implemented here because the JavaScript Array.push(anObject) and Array.pop() functions are not available in IE 5.0
- * @param anArray the array from which to pop
- */
-JsUnit.Util.pop = function pop(anArray) {
- if (anArray.length >= 1) {
- delete anArray[anArray.length - 1];
- anArray.length--;
- }
-}
-
-/**
- * Returns the name of the given function, or 'anonymous' if it has no name
- * @param aFunction
- */
-JsUnit.Util.getFunctionName = function(aFunction) {
- var regexpResult = aFunction.toString().match(/function(\s*)(\w*)/);
- if (regexpResult && regexpResult.length >= 2 && regexpResult[2]) {
- return regexpResult[2];
- }
- return 'anonymous';
-}
-
-/**
- * Returns the current stack trace
- */
-JsUnit.Util.getStackTrace = function() {
- var result = '';
-
- if (typeof(arguments.caller) != 'undefined') { // IE, not ECMA
- for (var a = arguments.caller; a != null; a = a.caller) {
- result += '> ' + JsUnit.Util.getFunctionName(a.callee) + '\n';
- if (a.caller == a) {
- result += '*';
- break;
- }
- }
- }
- else { // Mozilla, not ECMA
- // fake an exception so we can get Mozilla's error stack
- try
- {
- foo.bar;
- }
- catch(exception)
- {
- var stack = JsUnit.Util.parseErrorStack(exception);
- for (var i = 1; i < stack.length; i++)
- {
- result += '> ' + stack[i] + '\n';
- }
- }
- }
-
- return result;
-}
-
-/**
- * Returns an array of stack trace elements from the given exception
- * @param exception
- */
-JsUnit.Util.parseErrorStack = function(exception) {
- var stack = [];
- var name;
-
- if (!exception || !exception.stack) {
- return stack;
- }
-
- var stacklist = exception.stack.split('\n');
-
- for (var i = 0; i < stacklist.length - 1; i++) {
- var framedata = stacklist[i];
-
- name = framedata.match(/^(\w*)/)[1];
- if (!name) {
- name = 'anonymous';
- }
-
- stack[stack.length] = name;
- }
- // remove top level anonymous functions to match IE
-
- while (stack.length && stack[stack.length - 1] == 'anonymous') {
- stack.length = stack.length - 1;
- }
- return stack;
-}
-
-/**
- * Strips whitespace from either end of the given string
- * @param string
- */
-JsUnit.Util.trim = function(string) {
- if (string == null)
- return null;
-
- var startingIndex = 0;
- var endingIndex = string.length - 1;
-
- var singleWhitespaceRegex = /\s/;
- while (string.substring(startingIndex, startingIndex + 1).match(singleWhitespaceRegex))
- startingIndex++;
-
- while (string.substring(endingIndex, endingIndex + 1).match(singleWhitespaceRegex))
- endingIndex--;
-
- if (endingIndex < startingIndex)
- return '';
-
- return string.substring(startingIndex, endingIndex + 1);
-}
-
-JsUnit.Util.getKeys = function(obj) {
- var keys = [];
- for (var key in obj) {
- JsUnit.Util.push(keys, key);
- }
- return keys;
-}
-
-JsUnit.Util.inherit = function(superclass, subclass) {
- var x = function() {};
- x.prototype = superclass.prototype;
- subclass.prototype = new x();
-}
-
-JsUnit._setOnLoad(window, JsUnit._newOnLoadEvent);
diff --git a/scripts/jsunit/app/jsUnitParams.js b/scripts/jsunit/app/jsUnitParams.js
deleted file mode 100644
index 2cbafc4b1..000000000
--- a/scripts/jsunit/app/jsUnitParams.js
+++ /dev/null
@@ -1,113 +0,0 @@
-JsUnit.Params = function(string) {
- this.hash = new Object();
-
- if (!string) return;
-
- var i = string.indexOf('?');
- if (i != -1) {
- string = string.substring(i + 1);
- }
-
- var parmList = string.split('&');
- var a;
- for (j = 0; j < parmList.length; j++) {
- a = parmList[j].split('=');
- a[0] = unescape(a[0].toLowerCase());
- if (a.length > 1) {
- this.hash[a[0]] = unescape(a[1]);
- }
- else {
- this.hash[a[0]] = true;
- }
- }
-}
-
-JsUnit.Params.prototype.get = function(name) {
- if (typeof(this.hash[name]) != 'undefined') {
- return this.hash[name];
- }
- return null;
-}
-
-JsUnit.Params.prototype.getTestPage = function() {
- return this.get('testpage');
-}
-
-JsUnit.Params.prototype.shouldKickOffTestsAutomatically = function() {
- return this.get('autorun') == "true";
-}
-
-JsUnit.Params.prototype.shouldShowTestFrame = function() {
- return this.get('showtestframe');
-}
-
-JsUnit.Params.prototype.getShowTestFrameHeight = function() {
- var param = this.get('showtestframe');
- return param == "true" ? JsUnitTestManager.DEFAULT_TEST_FRAME_HEIGHT : param;
-}
-
-JsUnit.Params.prototype.shouldSuppressDialogs = function() {
- return this.shouldSubmitResults() || this.get('suppressdialogs');
-}
-
-JsUnit.Params.prototype.getPageLoadTimeout = function() {
- return this.get('pageloadtimeout') || JsUnitTestManager.TESTPAGE_WAIT_SEC;
-}
-
-JsUnit.Params.prototype.getSetupPageTimeout = function() {
- return this.get('setuppagetimeout') || JsUnitTestManager.SETUPPAGE_TIMEOUT;
-}
-
-JsUnit.Params.prototype.getResultId = function() {
- if (this.get('resultid'))
- return this.get('resultid');
- return "";
-}
-
-JsUnit.Params.prototype.getBrowserId = function() {
- if (this.get('browserid'))
- return this.get('browserid');
- return "";
-}
-
-JsUnit.Params.prototype.shouldSubmitResults = function() {
- return this.get('submitresults');
-}
-
-JsUnit.Params.prototype.getSpecifiedResultUrl = function() {
- return this.get('submitresults');
-}
-
-JsUnit.Params.prototype.wasResultUrlSpecified = function() {
- return this.shouldSubmitResults() && this.get('submitresults') != 'true';
-}
-
-JsUnit.Params.prototype.constructTestParams = function() {
- var parms = '';
-
- for (var p in this.hash) {
- var value = this.hash[p];
-
- if (!value ||
- p == 'testpage' ||
- p == 'autorun' ||
- p == 'submitresults' ||
- p == 'showtestframe' ||
- p == 'browserid' ||
- p == 'resultid') {
- continue;
- }
-
- if (parms) {
- parms += '&';
- }
-
- parms += escape(p);
-
- if (typeof(value) != 'boolean') {
- parms += '=' + escape(value);
- }
- }
-
- return parms;
-}
diff --git a/scripts/jsunit/app/jsUnitTestManager.js b/scripts/jsunit/app/jsUnitTestManager.js
deleted file mode 100644
index bb1782b8b..000000000
--- a/scripts/jsunit/app/jsUnitTestManager.js
+++ /dev/null
@@ -1,911 +0,0 @@
-JsUnit.TestGroup = function() {
- this._testPages = [];
- this._index = 0;
-}
-
-JsUnit.TestGroup.prototype.addTestPage = function(testPageUrl) {
- var testPage = new JsUnit.TestPage(testPageUrl);
- JsUnit.Util.push(this._testPages, testPage);
- return testPage;
-}
-
-JsUnit.TestGroup.prototype.hasMorePages = function() {
- return this._index < this._testPages.length;
-}
-
-JsUnit.TestGroup.prototype.nextPage = function() {
- return this._testPages[this._index++];
-}
-
-
-JsUnit.TestPage = function(url) {
- this.url = url;
- this.tests = [];
-
- this.running = false;
-
- this.successCount = 0;
- this.errorCount = 0;
- this.failureCount = 0;
-
- this._listeners = [];
-}
-
-JsUnit.TestPage.STATUS_CHANGE_EVENT = "statusChange";
-JsUnit.TestPage.READY_EVENT = "ready";
-
-JsUnit.TestPage.prototype.addTest = function(testName) {
- var test = new JsUnit.Test(this, testName);
- JsUnit.Util.push(this.tests, test);
- return test;
-}
-
-JsUnit.TestPage.prototype.listen = function(callback) {
- JsUnit.Util.push(this._listeners, callback);
-}
-
-JsUnit.TestPage.prototype.notify = function(event) {
- for (var i = 0; i < this._listeners.length; i++) {
- this._listeners[i].call(null, this, event);
- }
-}
-
-JsUnit.TestPage.prototype.getStatus = function(testName) {
- if (this.tests.length == 0) return 'noTestsYet';
- if (this.running) return 'running';
-
- if (this.errorCount > 0) return 'error';
- if (this.failureCount > 0) return 'failure';
- if (this.successCount > 0) return 'success';
- return 'ready';
-}
-
-JsUnit.Test = function(testPage, testName) {
- this.testPage = testPage;
- this.testName = testName;
- this.traceMessages = [];
- this.status = 'ready';
-
- this._listeners = [];
-}
-
-JsUnit.Test.prototype.addTraceMessage = function(traceMessage) {
- this.traceMessages.push(traceMessage);
-}
-
-JsUnit.Test.prototype.listen = function(callback) {
- JsUnit.Util.push(this._listeners, callback);
-}
-
-JsUnit.Test.prototype.notify = function(event) {
- for (var i = 0; i < this._listeners.length; i++) {
- this._listeners[i].call(null, this, event);
- }
-}
-
-
-JsUnit.TraceMessage = function(message, value, traceLevel) {
- this.message = message;
- this.value = value;
- this.traceLevel = traceLevel;
-}
-
-function JsUnitTestManager(params) {
- this._params = params || new JsUnit.Params();
-
- this.log = [];
-
- this._baseURL = "";
-
- this.setup();
-
- if (this._params.get("ui") == "modern") {
- this._uiManager = new JsUnit.ModernUiManager(this);
- } else {
- this._uiManager = new JsUnit.ClassicUiManager(this);
- }
-}
-
-JsUnitTestManager.prototype.getUiManager = function() {
- return this._uiManager;
-}
-
-JsUnitTestManager.prototype.getUiFrameUrl = function() {
- return this._uiManager.getUiFrameUrl();
-}
-
-// call after all frames have loaded
-JsUnitTestManager.prototype.onLoad = function() {
- var topLevelFrames = top.frames;
-
- this.container = topLevelFrames.testContainer;
- this.documentLoader = topLevelFrames.documentLoader;
-
- this.containerController = this.container.frames.testContainerController;
- this.testFrame = this.container.frames.testFrame;
-
- this._uiManager.onLoad(topLevelFrames.mainFrame);
-
- this.resultsFrame = topLevelFrames.mainResults;
- this.resultsForm = this.resultsFrame.document.resultsForm;
- this.testCaseResultsField = this.resultsFrame.document.resultsForm.testCaseResults;
- this.resultsTimeField = this.resultsFrame.document.resultsForm.time;
-
- var testRunnerFrameset = document.getElementById('testRunnerFrameset');
- if (this._params.shouldShowTestFrame() && testRunnerFrameset) {
- testRunnerFrameset.rows = '*,0,0,' + this._params.getShowTestFrameHeight();
- }
-}
-
-// seconds to wait for each test page to load
-JsUnitTestManager.TESTPAGE_WAIT_SEC = 10;
-
-// milliseoncds between test runs
-JsUnitTestManager.TIMEOUT_LENGTH = 20;
-
-// seconds to wait for setUpPage to complete
-JsUnitTestManager.SETUPPAGE_TIMEOUT = 10;
-
-// milliseconds to wait between polls on setUpPages
-JsUnitTestManager.SETUPPAGE_INTERVAL = 100;
-
-JsUnitTestManager.RESTORED_HTML_DIV_ID = "jsUnitRestoredHTML";
-
-JsUnitTestManager.DEFAULT_TEST_FRAME_HEIGHT = 250;
-
-
-JsUnitTestManager.prototype.setup = function () {
- this.totalCount = 0;
- this.errorCount = 0;
- this.failureCount = 0;
- this._testGroupStack = Array();
-
- var initialSuite = new JsUnitTestSuite();
- this.addTestSuite(initialSuite);
-}
-
-JsUnitTestManager.prototype.getTracer = function () {
- return top.tracer;
-}
-
-JsUnitTestManager.prototype.maybeRun = function () {
- if (this._params.shouldKickOffTestsAutomatically()) {
- this.kickOffTests();
- }
-}
-
-JsUnitTestManager.prototype.addTestSuite = function(testSuite) {
- var testGroup = new JsUnit.TestGroup();
-
- while (testSuite.hasMorePages()) {
- var testPage = testGroup.addTestPage(testSuite.nextPage());
- this.notifyUiOfTestPage(testPage);
- }
-
- JsUnit.Util.push(this._testGroupStack, testGroup);
-}
-
-JsUnitTestManager.prototype.kickOffTests = function() {
- if (JsUnit.Util.isBlank(this.getTestFileName())) {
- this.fatalError('No Test Page specified.');
- return;
- }
-
- this.setup();
-
- this._currentTestGroup().addTestPage(this.resolveUserEnteredTestFileName());
-
- this.start();
-}
-
-JsUnitTestManager.prototype.start = function () {
- var url = this.resolveUserEnteredTestFileName();
- this._baseURL = this._determineBaseUrl(url);
-
- this._timeRunStarted = new Date();
- this.initialize();
- setTimeout('top.testManager._nextPage();', JsUnitTestManager.TIMEOUT_LENGTH);
-}
-
-JsUnitTestManager.prototype._determineBaseUrl = function (url) {
- var firstQuery = url.indexOf("?");
- if (firstQuery >= 0) {
- url = url.substring(0, firstQuery);
- }
- var lastSlash = url.lastIndexOf("/");
- var lastRevSlash = url.lastIndexOf("\\");
- if (lastRevSlash > lastSlash) {
- lastSlash = lastRevSlash;
- }
- if (lastSlash > 0) {
- url = url.substring(0, lastSlash + 1);
- }
- return url;
-}
-
-JsUnitTestManager.prototype.getBaseURL = function () {
- return this._baseURL;
-}
-
-JsUnitTestManager.prototype.notifyUiOfTestPage = function(testPage) {
- if (testPage.alreadyNotifiedUi) return;
-
- this._uiManager.learnedOfTestPage(testPage);
- testPage.alreadyNotifiedUi = true;
-}
-
-JsUnitTestManager.prototype.doneLoadingPage = function(testPage) {
- this.notifyUiOfTestPage(testPage);
- this._currentTestPage = testPage;
- if (this.isTestPageSuite())
- this._handleNewSuite();
- else
- {
- this._testIndex = 0;
- var testNames = this.getTestFunctionNames();
- for (var i = 0; i < testNames.length; i++) {
- testPage.addTest(testNames[i]);
- }
- testPage.notify(JsUnit.TestPage.READY_EVENT);
- this._numberOfTestsInPage = testNames.length;
- this._runTest();
- }
-}
-
-JsUnitTestManager.prototype._handleNewSuite = function () {
- var allegedSuite = this.testFrame.suite();
- if (allegedSuite.isJsUnitTestSuite) {
- var newSuite = this._cloneTestSuite(allegedSuite);
- if (newSuite.containsTestPages())
- this.addTestSuite(newSuite);
- this._nextPage();
- }
- else {
- this.fatalError('Invalid test suite in file ' + this._currentTestPage.url);
- this.abort();
- }
-}
-
-/**
-* This function handles cloning of a jsUnitTestSuite object. This was added to replace the clone method of the jsUnitTestSuite class due to an IE bug in cross frame scripting. (See also jsunit bug 1522271)
-**/
-JsUnitTestManager.prototype._cloneTestSuite = function(suite) {
- var clone = new jsUnitTestSuite();
- clone._testPages = suite._testPages.concat(new Array(0));
- return clone;
-}
-
-JsUnitTestManager.prototype._runTest = function () {
- if (this._testIndex + 1 > this._numberOfTestsInPage) {
- // execute tearDownPage *synchronously*
- // (unlike setUpPage which is asynchronous)
- if (typeof this.testFrame.tearDownPage == 'function') {
- this.testFrame.tearDownPage();
- }
-
- this._currentTestPage.running = false;
- this._currentTestPage.notify(JsUnit.TestPage.STATUS_CHANGE_EVENT);
-
- this._nextPage();
- return;
- }
-
- if (this._testIndex == 0) {
- this._currentTestPage.running = true;
- this._currentTestPage.notify(JsUnit.TestPage.STATUS_CHANGE_EVENT);
-
- this.storeRestoredHTML();
- if (typeof(this.testFrame.setUpPage) == 'function') {
- // first test for this page and a setUpPage is defined
- if (typeof(this.testFrame.setUpPageStatus) == 'undefined') {
- // setUpPage() not called yet, so call it
- this.testFrame.setUpPageStatus = false;
- this.testFrame.startTime = new Date();
- this.testFrame.setUpPage();
- // try test again later
- setTimeout('top.testManager._runTest()', JsUnitTestManager.SETUPPAGE_INTERVAL);
- return;
- }
-
- if (this.testFrame.setUpPageStatus != 'complete') {
- this.setWindowStatus('setUpPage not completed... ' + this.testFrame.setUpPageStatus + ' ' + (new Date()));
- if ((new Date() - this.testFrame.startTime) / 1000 > this.getsetUpPageTimeout()) {
- this.fatalError('setUpPage timed out without completing.');
- if (!this.userConfirm('Retry Test Run?')) {
- this.abort();
- return;
- }
- this.testFrame.startTime = (new Date());
- }
- // try test again later
- setTimeout('top.testManager._runTest()', JsUnitTestManager.SETUPPAGE_INTERVAL);
- return;
- }
- }
- }
-
- this.setWindowStatus('');
- // either not first test, or no setUpPage defined, or setUpPage completed
-
- var theTest = this._currentTestPage.tests[this._testIndex];
- theTest.status = 'running';
- theTest.notify('statusChange');
- // todo: need to yield back so display will update here...
-
- this.executeTestFunction(theTest);
- this.totalCount++;
- this.updateProgressIndicators();
- this._testIndex++;
- setTimeout('if (top.testManager) top.testManager._runTest()', JsUnitTestManager.TIMEOUT_LENGTH);
-}
-
-JsUnitTestManager.prototype.setWindowStatus = function(string) {
- top.status = string;
-}
-
-JsUnitTestManager.prototype._populateHeaderFields = function(id, browserId, userAgent, jsUnitVersion, baseURL) {
- this.resultsForm.id.value = id;
- this.resultsForm.browserId.value = browserId;
- this.resultsForm.userAgent.value = userAgent;
- this.resultsForm.jsUnitVersion.value = jsUnitVersion;
- this.resultsForm.url.value = baseURL;
- this.resultsForm.cacheBuster.value = new Date().getTime();
-}
-
-JsUnitTestManager.prototype._submitResultsForm = function() {
- var testCasesField = this.testCaseResultsField;
- for (var i = 0; i < testCasesField.length; i++) {
- testCasesField[i].selected = true;
- }
-
- this.resultsForm.action = this.getSubmitUrl();
- this.resultsForm.submit();
-}
-
-JsUnitTestManager.prototype.submitResults = function() {
- this._uiManager.submittingResults();
- this._populateHeaderFields(this._params.getResultId(), this._params.getBrowserId(), navigator.userAgent, JSUNIT_VERSION, this.resolveUserEnteredTestFileName());
- this._submitResultsForm();
-}
-
-JsUnitTestManager.prototype._done = function () {
- var secondsSinceRunBegan = (new Date() - this._timeRunStarted) / 1000;
- this.setStatus('Done (' + secondsSinceRunBegan + ' seconds)');
-
- // call the suite teardown function, if defined
- if( typeof top.suiteTearDown === 'function' ) {
- top.suiteTearDown();
- }
-
- this._cleanUp();
- if (this._params.shouldSubmitResults()) {
- this.resultsTimeField.value = secondsSinceRunBegan;
- this.submitResults();
- }
-}
-
-JsUnitTestManager.prototype._nextPage = function () {
- this._restoredHTML = null;
- if (this._currentTestGroup().hasMorePages()) {
- var testPage = this._currentTestGroup().nextPage();
- this.loadPage(testPage);
- }
- else {
- JsUnit.Util.pop(this._testGroupStack);
- if (this._currentTestGroup() == null)
- this._done();
- else
- this._nextPage();
- }
-}
-
-JsUnitTestManager.prototype._currentTestGroup = function () {
- var suite = null;
-
- if (this._testGroupStack && this._testGroupStack.length > 0)
- suite = this._testGroupStack[this._testGroupStack.length - 1];
-
- return suite;
-}
-
-JsUnitTestManager.prototype.calculateProgressBarProportion = function () {
- if (this.totalCount == 0)
- return 0;
- var currentDivisor = 1;
- var result = 0;
-
- for (var i = 0; i < this._testGroupStack.length; i++) {
- var testGroup = this._testGroupStack[i];
- currentDivisor *= testGroup._testPages.length;
- result += (testGroup._index - 1) / currentDivisor;
- }
- result += (this._testIndex + 1) / (this._numberOfTestsInPage * currentDivisor);
- return result;
-}
-
-JsUnitTestManager.prototype._cleanUp = function () {
- this.containerController.setTestPage('./app/emptyPage.html');
- this.finalize();
-}
-
-JsUnitTestManager.prototype.abort = function () {
- this.setStatus('Aborted');
- this._cleanUp();
-}
-
-JsUnitTestManager.prototype.getTimeout = function () {
- var result = JsUnitTestManager.TESTPAGE_WAIT_SEC;
- try {
- result = eval(this.timeout.value);
- }
- catch (e) {
- }
- return result;
-}
-
-JsUnitTestManager.prototype.getsetUpPageTimeout = function () {
- var result = JsUnitTestManager.SETUPPAGE_TIMEOUT;
- try {
- result = eval(this.setUpPageTimeout.value);
- }
- catch (e) {
- }
- return result;
-}
-
-JsUnitTestManager.prototype.isTestPageSuite = function () {
- var result = false;
- if (typeof(this.testFrame.suite) == 'function')
- {
- result = true;
- }
- return result;
-}
-
-JsUnitTestManager.prototype.isTestFunction = function(propertyName, obj) {
- return propertyName.substring(0, 4) == 'test' && typeof(obj[propertyName]) == 'function';
-}
-
-JsUnitTestManager.prototype.getTestFunctionNames = function () {
- return this.getTestFunctionNamesFromExposedTestFunctionNames(this.testFrame) ||
- this.getTestFunctionNamesFromFrameProperties(this.testFrame) ||
- this.getTestFunctionNamesFromRuntimeObject(this.testFrame) ||
- this.getTestFunctionNamesUsingPlainTextSearch(this.testFrame);
-}
-
-JsUnitTestManager.prototype.getTestFunctionNamesFromExposedTestFunctionNames = function (testFrame) {
- if (testFrame && typeof(testFrame.exposeTestFunctionNames) == 'function') {
- return testFrame.exposeTestFunctionNames();
- } else {
- return null;
- }
-}
-
-JsUnitTestManager.prototype.getTestFunctionNamesFromFrameProperties = function (testFrame) {
- var testFunctionNames = [];
-
- for (var i in testFrame) {
- if (this.isTestFunction(i, testFrame)) {
- JsUnit.Util.push(testFunctionNames, i);
- }
- }
-
- return testFunctionNames.length > 0 ? testFunctionNames : null;
-}
-
-JsUnitTestManager.prototype.getTestFunctionNamesFromRuntimeObject = function (testFrame) {
- var testFunctionNames = [];
-
- if (testFrame.RuntimeObject) {
- var runtimeObject = testFrame.RuntimeObject("test*");
- for (var i in runtimeObject) {
- if (this.isTestFunction(i, runtimeObject)) {
- JsUnit.Util.push(testFunctionNames, i);
- }
- }
- }
-
- return testFunctionNames.length > 0 ? testFunctionNames : null;
-}
-
-/**
- * Method of last resort. This will pick up functions that are commented-out and will not be able to pick up
- * tests in included JS files.
- */
-JsUnitTestManager.prototype.getTestFunctionNamesUsingPlainTextSearch = function (testFrame) {
- var testFunctionNames = [];
-
- if (testFrame &&
- testFrame.document &&
- typeof(testFrame.document.scripts) != 'undefined' &&
- testFrame.document.scripts.length > 0) { // IE5 and up
- var scriptsInTestFrame = testFrame.document.scripts;
-
- for (i = 0; i < scriptsInTestFrame.length; i++) {
- var someNames = this._extractTestFunctionNamesFromScript(scriptsInTestFrame[i]);
- if (someNames) {
- testFunctionNames = testFunctionNames.concat(someNames);
- }
- }
- }
-
- return testFunctionNames.length > 0 ? testFunctionNames : null;
-}
-
-JsUnitTestManager.prototype._extractTestFunctionNamesFromScript = function (aScript) {
- var result;
- var remainingScriptToInspect = aScript.text;
- var currentIndex = this._indexOfTestFunctionIn(remainingScriptToInspect);
- while (currentIndex != -1) {
- if (!result)
- result = new Array();
-
- var fragment = remainingScriptToInspect.substring(currentIndex, remainingScriptToInspect.length);
- result = result.concat(fragment.substring('function '.length, fragment.indexOf('(')));
- remainingScriptToInspect = remainingScriptToInspect.substring(currentIndex + 12, remainingScriptToInspect.length);
- currentIndex = this._indexOfTestFunctionIn(remainingScriptToInspect);
- }
- return result;
-}
-
-JsUnitTestManager.prototype._indexOfTestFunctionIn = function (string) {
- return string.indexOf('function test');
-}
-
-JsUnitTestManager.prototype.loadPage = function (testPage) {
- this._currentTestPage = testPage;
- this._loadAttemptStartTime = new Date();
- this.setStatus('Opening Test Page "' + this._currentTestPage.url + '"');
- this.containerController.setTestPage(this._currentTestPage.url);
- this._callBackWhenPageIsLoaded();
-}
-
-JsUnitTestManager.prototype._callBackWhenPageIsLoaded = function () {
- if ((new Date() - this._loadAttemptStartTime) / 1000 > this.getTimeout()) {
- this.fatalError('Reading Test Page ' + this._currentTestPage.url + ' timed out.\nMake sure that the file exists and is a Test Page.');
- if (this.userConfirm('Retry Test Run?')) {
- this.loadPage(this._currentTestPage);
- return;
- } else {
- this.abort();
- return;
- }
- }
- if (!this._isTestFrameLoaded()) {
- setTimeout('if (top.testManager) top.testManager._callBackWhenPageIsLoaded();', JsUnitTestManager.TIMEOUT_LENGTH);
- return;
- }
- this.doneLoadingPage(this._currentTestPage);
-}
-
-JsUnitTestManager.prototype._isTestFrameLoaded = function () {
- try {
- return this.containerController.isPageLoaded();
- }
- catch (e) {
- }
- return false;
-}
-
-JsUnitTestManager.prototype.executeTestFunction = function (theTest) {
- this._currentTest = theTest;
- this._testFunctionName = theTest.testName;
- this.setStatus('Running test "' + this._testFunctionName + '"');
- var exception = null;
- var timeBefore = new Date();
- try {
- if (this._restoredHTML)
- this.testFrame.document.getElementById(JsUnitTestManager.RESTORED_HTML_DIV_ID).innerHTML = this._restoredHTML;
- if (this.testFrame.setUp !== JSUNIT_UNDEFINED_VALUE)
- this.testFrame.setUp();
- this.testFrame[this._testFunctionName]();
- }
- catch (e1) {
- exception = e1;
- }
- finally {
- try {
- if (this.testFrame.tearDown !== JSUNIT_UNDEFINED_VALUE)
- this.testFrame.tearDown();
- }
- catch (e2) {
- //Unlike JUnit, only assign a tearDown exception to excep if there is not already an exception from the test body
- if (exception == null)
- exception = e2;
- }
- }
- theTest.timeTaken = new Date() - timeBefore;
-
- var timeTaken = theTest.timeTaken / 1000;
- this._setTestStatus(theTest, exception);
- this._uiManager.testCompleted(theTest);
-
- var serializedTestCaseString = this._currentTestFunctionNameWithTestPageName(true) + "|" + timeTaken + "|";
- if (exception == null)
- serializedTestCaseString += "S||";
- else {
- if (exception.isJsUnitFailure)
- serializedTestCaseString += "F|";
- else {
- serializedTestCaseString += "E|";
- }
- serializedTestCaseString += this._uiManager.problemDetailMessageFor(exception);
- }
- this._addOption(this.testCaseResultsField,
- serializedTestCaseString,
- serializedTestCaseString);
-}
-
-JsUnitTestManager.prototype._currentTestFunctionNameWithTestPageName = function(useFullyQualifiedTestPageName) {
- var testURL = this.testFrame.location.href;
- var testQuery = testURL.indexOf("?");
- if (testQuery >= 0) {
- testURL = testURL.substring(0, testQuery);
- }
- if (!useFullyQualifiedTestPageName) {
- if (testURL.substring(0, this._baseURL.length) == this._baseURL)
- testURL = testURL.substring(this._baseURL.length);
- }
- return testURL + ':' + this._testFunctionName;
-}
-
-JsUnitTestManager.prototype._addOption = function(listField, problemValue, problemMessage) {
- if (typeof(listField.ownerDocument) != 'undefined'
- && typeof(listField.ownerDocument.createElement) != 'undefined') {
- // DOM Level 2 HTML method.
- // this is required for Opera 7 since appending to the end of the
- // options array does not work, and adding an Option created by new Option()
- // and appended by listField.options.add() fails due to WRONG_DOCUMENT_ERR
- var problemDocument = listField.ownerDocument;
- var errOption = problemDocument.createElement('option');
- errOption.setAttribute('value', problemValue);
- errOption.appendChild(problemDocument.createTextNode(problemMessage));
- listField.appendChild(errOption);
- }
- else {
- // new Option() is DOM 0
-
- var errOption = new Option(problemMessage, problemValue);
-
- if (typeof(listField.add) != 'undefined') {
- // DOM 2 HTML
- try {
- listField.add(errOption, null);
- } catch(err) {
- listField.add(errOption); // IE 5.5
- }
-
- }
- else if (typeof(listField.options.add) != 'undefined') {
- // DOM 0
- listField.options.add(errOption, null);
- }
- else {
- // DOM 0
- listField.options[listField.length] = errOption;
- }
- }
-}
-
-JsUnitTestManager.prototype._setTestStatus = function (test, excep) {
- var message = this._currentTestFunctionNameWithTestPageName(false) + ' ';
-
- if (excep == null) {
- test.status = 'success';
- test.testPage.successCount++;
- message += 'passed';
- } else {
- test.exception = excep;
-
- if (!excep.isJsUnitFailure) {
- this.errorCount++;
- test.status = 'error';
- test.testPage.errorCount++;
- message += 'had an error';
- }
- else {
- this.failureCount++;
- test.status = 'failure';
- test.testPage.failureCount++;
- message += 'failed';
- }
- }
-
- test.message = message;
-}
-
-JsUnitTestManager.prototype.setStatus = function (str) {
- this._uiManager.setStatus(str);
- this.log.push(str);
-}
-
-JsUnitTestManager.prototype.updateProgressIndicators = function () {
- this._uiManager.updateProgressIndicators(
- this.totalCount,
- this.errorCount,
- this.failureCount,
- this.calculateProgressBarProportion()
- );
-}
-
-JsUnitTestManager.prototype.initialize = function () {
- this.setStatus('Initializing...');
- this._uiManager.starting();
- this.updateProgressIndicators();
- this.setStatus('Done initializing');
-}
-
-JsUnitTestManager.prototype.finalize = function () {
- this._uiManager.finishing();
-}
-
-JsUnitTestManager.prototype.getTestFileName = function () {
- var rawEnteredFileName = this._uiManager.getTestFileName();
- var result = rawEnteredFileName;
-
- while (result.indexOf('\\') != -1)
- result = result.replace('\\', '/');
-
- return result;
-}
-
-JsUnitTestManager.prototype.getTestFunctionName = function () {
- return this._testFunctionName;
-}
-
-JsUnitTestManager.prototype.resolveUserEnteredTestFileName = function (rawText) {
- var userEnteredTestFileName = this.getTestFileName();
-
- // only test for file:// since Opera uses a different format
- if (userEnteredTestFileName.indexOf('http://') == 0 || userEnteredTestFileName.indexOf('https://') == 0 || userEnteredTestFileName.indexOf('file://') == 0)
- return userEnteredTestFileName;
-
- return this.getTestFileProtocol() + this.getTestFileName();
-}
-
-JsUnitTestManager.prototype.storeRestoredHTML = function () {
- if (document.getElementById && this.testFrame.document.getElementById(JsUnitTestManager.RESTORED_HTML_DIV_ID))
- this._restoredHTML = this.testFrame.document.getElementById(JsUnitTestManager.RESTORED_HTML_DIV_ID).innerHTML;
-}
-
-JsUnitTestManager.prototype.fatalError = function(aMessage) {
- this._uiManager.fatalError(aMessage);
-}
-
-JsUnitTestManager.prototype.userConfirm = function(aMessage) {
- return this._uiManager.userConfirm(aMessage);
-}
-
-JsUnitTestManager.DEFAULT_SUBMIT_WEBSERVER = "localhost:8080";
-
-JsUnitTestManager.prototype._submitUrlFromSpecifiedUrl = function() {
- var result = "";
- var specifiedUrl = this._params.getSpecifiedResultUrl();
- if (specifiedUrl.indexOf("http://") != 0)
- result = "http://";
- result += specifiedUrl;
- return result;
-}
-
-JsUnitTestManager.prototype._submitUrlFromTestRunnerLocation = function() {
- var result = "http://";
- var webserver = this.getWebserver();
- var runningOverFileProtocol = webserver == null;
- if (runningOverFileProtocol)
- webserver = JsUnitTestManager.DEFAULT_SUBMIT_WEBSERVER;
- result += webserver;
- result += "/jsunit/acceptor";
- return result;
-}
-
-JsUnitTestManager.prototype.getSubmitUrl = function() {
- if (this._params.wasResultUrlSpecified()) {
- return this._submitUrlFromSpecifiedUrl();
- } else {
- return this._submitUrlFromTestRunnerLocation();
- }
-}
-
-JsUnitTestManager.prototype.isFileProtocol = function() {
- return this.getTestFileProtocol() == 'file:///';
-}
-
-JsUnitTestManager.prototype.getTestPageString = function() {
- var testPageParameter = this._params.getTestPage();
- var isFileProtocol = this.isFileProtocol();
- var testPageString = "";
- if (testPageParameter) {
- if (!isFileProtocol) {
- var topLocation = top.location;
- if (testPageParameter.indexOf('/') == 0)
- testPageString += topLocation.host;
- else if (testPageParameter.indexOf('./') == 0) {
- testPageString += topLocation.href.substr(0, topLocation.href.indexOf("testRunner.html"));
- testPageParameter = testPageParameter.substr(2, testPageParameter.length);
- }
- }
- testPageString += testPageParameter;
- var testParms = this._params.constructTestParams();
- if (testParms != '') {
- testPageString += '?';
- testPageString += testParms;
- }
- }
- return testPageString;
-}
-
-
-JsUnitTestManager.prototype.getTestFileProtocol = function() {
- var protocol = top.document.location.protocol;
-
- if (protocol == "file:")
- return "file:///";
-
- if (protocol == "http:")
- return "http://";
-
- if (protocol == 'https:')
- return 'https://';
-
- if (protocol == "chrome:")
- return "chrome://";
-
- return null;
-}
-
-JsUnitTestManager.prototype.browserSupportsReadingFullPathFromFileField = function() {
- return false; //pretty much all modern browsers disallow this now
-}
-
-JsUnitTestManager.prototype.isOpera = function() {
- return navigator.userAgent.toLowerCase().indexOf("opera") != -1;
-}
-
-JsUnitTestManager.prototype.isIE7 = function() {
- return navigator.userAgent.toLowerCase().indexOf("msie 7") != -1;
-}
-
-JsUnitTestManager.prototype.isFirefox3 = function() {
- return navigator.userAgent.toLowerCase().indexOf("firefox/3") != -1;
-}
-
-JsUnitTestManager.prototype.isSafari4 = function() {
- return navigator.userAgent.toLowerCase().indexOf("4.0 safari") != -1;
-}
-
-JsUnitTestManager.prototype.isBeingRunOverHTTP = function() {
- return this.getTestFileProtocol() == "http://";
-}
-
-JsUnitTestManager.prototype.getWebserver = function() {
- if (this.isBeingRunOverHTTP()) {
- var myUrl = location.href;
- var myUrlWithProtocolStripped = myUrl.substring(myUrl.indexOf("/") + 2);
- return myUrlWithProtocolStripped.substring(0, myUrlWithProtocolStripped.indexOf("/"));
- }
- return null;
-}
-
-JsUnitTestManager.prototype.addTraceData = function(message, value, traceLevel) {
- var traceMessage = new JsUnit.TraceMessage(message, value, traceLevel);
- this._currentTest.addTraceMessage(traceMessage);
-
- if (!this._params.shouldSubmitResults()) {
- this._uiManager.addedTraceData(this._currentTest, traceMessage);
- }
-}
-
-if (!Array.prototype.push) {
- Array.prototype.push = function (anObject) {
- this[this.length] = anObject;
- }
-}
-
-if (!Array.prototype.pop) {
- Array.prototype.pop = function () {
- if (this.length > 0) {
- delete this[this.length - 1];
- this.length--;
- }
- }
-}
diff --git a/scripts/jsunit/app/jsUnitTracer.js b/scripts/jsunit/app/jsUnitTracer.js
deleted file mode 100644
index 9d76d38fa..000000000
--- a/scripts/jsunit/app/jsUnitTracer.js
+++ /dev/null
@@ -1,48 +0,0 @@
-function JsUnitTraceLevel(levelNumber, color) {
- this._levelNumber = levelNumber;
- this._color = color;
-}
-
-JsUnitTraceLevel.prototype.matches = function(otherTraceLevel) {
- return this._levelNumber >= otherTraceLevel._levelNumber;
-}
-
-JsUnitTraceLevel.prototype.getColor = function() {
- return this._color;
-}
-
-JsUnitTraceLevel.findByLevelNumber = function(levelNumber) {
- switch (levelNumber) {
- case 0: return JsUnitTraceLevel.NONE;
- case 1: return JsUnitTraceLevel.WARNING;
- case 2: return JsUnitTraceLevel.INFO;
- case 3: return JsUnitTraceLevel.DEBUG;
- }
- return null;
-}
-
-JsUnitTraceLevel.NONE = new JsUnitTraceLevel(0, null);
-JsUnitTraceLevel.WARNING = new JsUnitTraceLevel(1, "#FF0000");
-JsUnitTraceLevel.INFO = new JsUnitTraceLevel(2, "#009966");
-JsUnitTraceLevel.DEBUG = new JsUnitTraceLevel(3, "#0000FF");
-
-function JsUnitTracer(testManager, params) {
- this._testManager = testManager;
- this._params = params;
-}
-
-JsUnitTracer.prototype.warn = function() {
- this._trace(arguments[0], arguments[1], JsUnitTraceLevel.WARNING);
-}
-
-JsUnitTracer.prototype.inform = function() {
- this._trace(arguments[0], arguments[1], JsUnitTraceLevel.INFO);
-}
-
-JsUnitTracer.prototype.debug = function() {
- this._trace(arguments[0], arguments[1], JsUnitTraceLevel.DEBUG);
-}
-
-JsUnitTracer.prototype._trace = function(message, value, traceLevel) {
- this._testManager.addTraceData(message, value, traceLevel);
-}
\ No newline at end of file
diff --git a/scripts/jsunit/app/main-counts-errors.html b/scripts/jsunit/app/main-counts-errors.html
deleted file mode 100644
index 14f94c0c9..000000000
--- a/scripts/jsunit/app/main-counts-errors.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-Errors: 0
-
-
\ No newline at end of file
diff --git a/scripts/jsunit/app/main-counts-failures.html b/scripts/jsunit/app/main-counts-failures.html
deleted file mode 100644
index 88a9f96d7..000000000
--- a/scripts/jsunit/app/main-counts-failures.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-Failures: 0
-
-
-
diff --git a/scripts/jsunit/app/main-counts-runs.html b/scripts/jsunit/app/main-counts-runs.html
deleted file mode 100644
index 38f4bbec4..000000000
--- a/scripts/jsunit/app/main-counts-runs.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-Runs: 0
-
-
-
diff --git a/scripts/jsunit/app/main-counts.html b/scripts/jsunit/app/main-counts.html
deleted file mode 100644
index db2d01936..000000000
--- a/scripts/jsunit/app/main-counts.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/scripts/jsunit/app/main-data.html b/scripts/jsunit/app/main-data.html
deleted file mode 100644
index e7f8333c8..000000000
--- a/scripts/jsunit/app/main-data.html
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
- JsUnit main-data.html
-
-
-
-
-
-
-| - - | -- |
- JsUnit TestRunner- Running on - - |
-
-
- www.jsunit.net - JsUnit group - -
-
-
-
-
- |
-
|---|
| Progress: | - -
- |
-
-
-
-
- |
-
- - | - -
-
- JsUnit
-
- Test Runner
-
- - - Running on - - - |
-
-
- www.jsunit.net
- - JsUnit group - - -
-
- |
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--Clock -- - -
-
Clock stores callbacks and executes them when it is told to simulate the advancing of time
-
-
Defined in jsUnitMockTimeout.js
-
| - Field Summary | -|
- <static> Object |
- nowMillis
- - The current milliseconds |
-
- <static> Object |
- scheduledFunctions
- - Hash of milliseconds to scheduled functions |
-
- <static> Object |
- timeoutsMade
- - The number of timeouts executed |
-
| -Constructor Summary | -|
-
-
- Clock()
-
- - - - |
-|
| -Method Summary | -|
-
- <static> void
-
- |
-
-
-
- reset()
-
- - - Resets the clock - clears the scheduledFunctions, the current milliseconds, and the timeouts made count - |
-
-
- <static> void
-
- |
-
-
-
- scheduleFunction(timeoutKey, funcToCall, millis, recurring)
-
- - - Schedules a function to be executed at the given number of milliseconds from now - |
-
-
- <static> void
-
- |
-
-
-
- tick(millis)
-
- - - Simulate the advancing of time. - |
-
| Field Detail | -
<static> Object nowMillis-
<static> Object scheduledFunctions-
<static> Object timeoutsMade-
| - Constructor Detail - | -
Clock()- - - - - - - - - - - - - -
| - Method Detail - | -
<static> void reset()- -
<static> void scheduleFunction(timeoutKey, funcToCall, millis, recurring)- -
timeoutKey - - the ID of the callback
- funcToCall - - the function to call
- millis - - the number of milliseconds before the callback
- recurring - - whether the callback recurs - if true, then the callback will be re-registered after it executes
- <static> void tick(millis)- -
millis - the number of milliseconds by which to advance time
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--GLOBALS -- - -
| -Method Summary | -|
-
- <static> void
-
- |
-
-
-
- assert()
-
- - - Checks that the given boolean value is true. - |
-
-
- <static> void
-
- |
-
-
-
- assertArrayEquals()
-
- - - Checks that an array is equal to another by checking that both are arrays and then comparing their elements using assertObjectEquals - |
-
-
- <static> void
-
- |
-
-
-
- assertArrayEqualsIgnoringOrder()
-
- - - Checks that two arrays have the same contents, ignoring the order of the contents - |
-
-
- <static> void
-
- |
-
-
-
- assertContains()
-
- - - Checks that a collection contains a value by checking that collection.indexOf(value) is not -1 - |
-
-
- <static> void
-
- |
-
-
-
- assertEquals()
-
- - - Checks that two values are equal (using ===) - |
-
-
- <static> void
-
- |
-
-
-
- assertEqualsIgnoringOrder()
-
- - - Synonym for assertArrayEqualsIgnoringOrder - |
-
-
- <static> void
-
- |
-
-
-
- assertEvaluatesToFalse()
-
- - - Checks that a value evaluates to false in the sense that value == false - |
-
-
- <static> void
-
- |
-
-
-
- assertEvaluatesToTrue()
-
- - - Checks that a value evaluates to true in the sense that value == true - |
-
-
- <static> void
-
- |
-
-
-
- assertFalse()
-
- - - Checks that a boolean value is false. - |
-
-
- <static> void
-
- |
-
-
-
- assertHashEquals()
-
- - - Checks that a hash is has the same contents as another by iterating over the expected hash and checking that each - key's value is present in the actual hash and calling assertEquals on the two values, and then checking that there is - no key in the actual hash that isn't present in the expected hash. - |
-
-
- <static> void
-
- |
-
-
-
- assertHTMLEquals()
-
- - - Checks that a value is the same as an HTML string by "standardizing" both and comparing the result for equality. - |
-
-
- <static> void
-
- |
-
-
-
- assertNaN()
-
- - - Checks that a value is NaN (Not a Number) - |
-
-
- <static> void
-
- |
-
-
-
- assertNotEquals()
-
- - - Checks that two values are not equal (using !==) - |
-
-
- <static> void
-
- |
-
-
-
- assertNotNaN()
-
- - - Checks that a value is not NaN (i.e. - |
-
-
- <static> void
-
- |
-
-
-
- assertNotNull()
-
- - - Checks that a value is not null - |
-
-
- <static> void
-
- |
-
-
-
- assertNotUndefined()
-
- - - Checks that a value is not undefined - |
-
-
- <static> void
-
- |
-
-
-
- assertNull()
-
- - - Checks that a value is null - |
-
-
- <static> void
-
- |
-
-
-
- assertObjectEquals()
-
- - - Checks that an object is equal to another using === for primitives and their object counterparts but also desceding - into collections and calling assertObjectEquals for each element - |
-
-
- <static> void
-
- |
-
-
-
- assertRoughlyEquals()
-
- - - Checks that two value are within a tolerance of one another - |
-
-
- <static> void
-
- |
-
-
-
- assertTrue()
-
- - - Synonym for assertTrue - |
-
-
- <static> void
-
- |
-
-
-
- assertUndefined()
-
- - - Checks that a value is undefined - |
-
-
- <static> void
-
- |
-
-
-
- clearInterval(timeoutKey)
-
- - - Mocks out clearInterval by clearing Clock's scheduledFunction for the given ID - |
-
-
- <static> void
-
- |
-
-
-
- clearTimeout(timeoutKey)
-
- - - Mocks out clearTimeout by clearing Clock's scheduledFunction for the given ID - |
-
-
- <static> Object
-
- |
-
-
-
- createXmlHttpRequest()
-
- - - Useful for testing. - |
-
-
- <static> void
-
- |
-
-
-
- debug()
-
- - - - |
-
-
- <static> void
-
- |
-
-
-
- error(errorMessage)
-
- - - Causes an error - |
-
-
- <static> void
-
- |
-
-
-
- fail(failureMessage)
-
- - - Causes a failure - |
-
-
- <static> void
-
- |
-
-
-
- info()
-
- - - - |
-
-
- <static> void
-
- |
-
-
-
- inform()
-
- - - - |
-
-
- <static> Object
-
- |
-
-
-
- isLoaded()
-
- - - - |
-
-
- <static> Object
-
- |
-
-
-
- jsUnitGetParm(name)
-
- - - - |
-
-
- <static> void
-
- |
-
-
-
- jsUnitSetOnLoad(windowRef, onloadHandler)
-
- - - - |
-
-
- <static> void
-
- |
-
-
-
- newOnLoadEvent()
-
- - - - |
-
-
- <static> Object
-
- |
-
-
-
- setInterval(funcToCall, millis)
-
- - - Mocks out setInterval by registering the callback with Clock - |
-
-
- <static> void
-
- |
-
-
-
- setJsUnitTracer(aJsUnitTracer)
-
- - - - |
-
-
- <static> Object
-
- |
-
-
-
- setTimeout(funcToCall, millis)
-
- - - Mocks out setTimeout by registering the callback with Clock - |
-
-
- <static> void
-
- |
-
-
-
- warn()
-
- - - - |
-
- - - - - - - - - - - - - - - - - -
| - Method Detail - | -
<static> void assert()- -
comment - optional, displayed in the case of failure
- <static> void assertArrayEquals()- -
comment - optional, displayed in the case of failure
- value - the expected array
- value - the actual array
- <static> void assertArrayEqualsIgnoringOrder()- -
comment - optional, displayed in the case of failure
- array1 - first array
- array2 - second array
- <static> void assertContains()- -
comment - optional, displayed in the case of failure
- collection - the collection
- value - the value
- <static> void assertEquals()- -
comment - optional, displayed in the case of failure
- expected - the expected value
- actual - the actual value
- <static> void assertEqualsIgnoringOrder()- -
<static> void assertEvaluatesToFalse()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertEvaluatesToTrue()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertFalse()- -
comment - optional, displayed in the case of failure
- <static> void assertHashEquals()- -
comment - optional, displayed in the case of failure
- value - the expected hash
- value - the actual hash
- <static> void assertHTMLEquals()- -
comment - optional, displayed in the case of failure
- value1 - the expected HTML string
- value2 - the actual HTML string
- <static> void assertNaN()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertNotEquals()- -
comment - optional, displayed in the case of failure
- value1 - a value
- value2 - another value
- <static> void assertNotNaN()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertNotNull()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertNotUndefined()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertNull()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void assertObjectEquals()- -
comment - optional, displayed in the case of failure
- value - the expected value
- value - the actual value
- <static> void assertRoughlyEquals()- -
comment - optional, displayed in the case of failure
- value1 - a value
- value1 - another value
- tolerance - the tolerance
- <static> void assertTrue()- -
<static> void assertUndefined()- -
comment - optional, displayed in the case of failure
- value - the value
- <static> void clearInterval(timeoutKey)- -
<static> void clearTimeout(timeoutKey)- -
<static> Object createXmlHttpRequest()- -
<static> void debug()- - - - - - - - - - - -
<static> void error(errorMessage)- -
errorMessage - the message for the error
- <static> void fail(failureMessage)- -
failureMessage - the message for the failure
- <static> void info()- - - - - - - - - - - -
<static> void inform()- - - - - - - - - - - -
<static> Object isLoaded()- - - - - - - - - - - -
<static> Object jsUnitGetParm(name)- - - - - - - - - - - -
<static> void jsUnitSetOnLoad(windowRef, onloadHandler)- - - - - - - - - - - -
<static> void newOnLoadEvent()- - - - - - - - - - - -
<static> Object setInterval(funcToCall, millis)- -
funcToCall -
- millis -
- <static> void setJsUnitTracer(aJsUnitTracer)- - - - - - - - - - - -
<static> Object setTimeout(funcToCall, millis)- -
funcToCall -
- millis -
- <static> void warn()- - - - - - - - - - - -
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--JsUnitAssertionArgumentError -- - -
-
A JsUnitAssertionArgumentError represents an invalid call to an assertion function - either an invalid argument type
- or an incorrect number of arguments
-
Defined in jsUnitCore.js
-
| - Field Summary | -|
- Object |
- description
- - A description of the argument error |
-
| -Constructor Summary | -|
-
-
- JsUnitAssertionArgumentError(description)
-
- - - - |
-|
| Field Detail | -
Object description-
| - Constructor Detail - | -
JsUnitAssertionArgumentError(description)- - - - -
description - a description of the argument error
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--JsUnitError -- - -
-
A JsUnitError represents an error (an exception or a call to error()) during the execution of a Test Function
-
Defined in jsUnitCore.js
-
| - Field Summary | -|
- Object |
- description
- - The description of the error |
-
- Object |
- stackTrace
- - The stack trace at the point at which the error was encountered |
-
| -Constructor Summary | -|
-
-
- JsUnitError(description)
-
- - - - |
-|
| Field Detail | -
Object description-
Object stackTrace-
| - Constructor Detail - | -
JsUnitError(description)- - - - -
description - the reason for the failure
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--JsUnitFailure -- - -
-
A JsUnitFailure represents an assertion failure (or a call to fail()) during the execution of a Test Function
-
Defined in jsUnitCore.js
-
| - Field Summary | -|
- Object |
- comment
- - An optional comment about the failure |
-
- Object |
- jsUnitMessage
- - The reason for the failure |
-
- Object |
- stackTrace
- - The stack trace at the point at which the failure was encountered |
-
| -Constructor Summary | -|
-
-
- JsUnitFailure(comment, message)
-
- - - - |
-|
| Field Detail | -
Object comment-
Object jsUnitMessage-
Object stackTrace-
| - Constructor Detail - | -
JsUnitFailure(comment, message)- - - - -
comment - an optional comment about the failure
- message - the reason for the failure
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--JsUnitTestSuite -- - -
-
A JsUnitTestSuite represents a suite of JsUnit Test Pages. Test Pages and Test Suites can be added to a
- JsUnitTestSuite
-
Defined in jsUnitCore.js
-
| - Field Summary | -|
- Object |
- isJsUnitTestSuite
- - Declares that this object is a JsUnitTestSuite |
-
| -Constructor Summary | -|
-
-
- JsUnitTestSuite()
-
- - - - |
-|
| -Method Summary | -|
-
- void
-
- |
-
-
-
- addTestPage(pageName)
-
- - - Adds a Test Page to the suite - |
-
-
- void
-
- |
-
-
-
- addTestSuite(suite)
-
- - - Adds a Test Suite to the suite - |
-
-
- Object
-
- |
-
-
-
- clone()
-
- - - Produces a copy of the suite - |
-
-
- Object
-
- |
-
-
-
- containsTestPages()
-
- - - Whether the suite contains any Test Pages - |
-
-
- Object
-
- |
-
-
-
- hasMorePages()
-
- - - Whether the suite has more Test Pages - |
-
-
- Object
-
- |
-
-
-
- nextPage()
-
- - - Moves the suite on to its next Test Page - |
-
| Field Detail | -
Object isJsUnitTestSuite-
| - Constructor Detail - | -
JsUnitTestSuite()- - - - - - - - - - - - - -
| - Method Detail - | -
void addTestPage(pageName)- -
pageName - the path to the Test Page
- void addTestSuite(suite)- -
suite - another JsUnitTestSuite object
- Object clone()- -
Object containsTestPages()- -
Object hasMorePages()- -
Object nextPage()- -
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--MockXmlHttpRequest -- - -
-
A MockXmlHttpRequest implements the XmlHttpRequest API. It is intended for use when testing code that deals with AJAX.
-
-
Defined in jsUnitAjax.js
-
| - Field Summary | -|
- Object |
- requestHeaderNamesToValues
- - stores the headers set on the request |
-
| -Constructor Summary | -|
-
-
- MockXmlHttpRequest()
-
- - - - |
-|
| -Method Summary | -|
-
- void
-
- |
-
-
-
- open(method, url, isAsync, userName, password)
-
- - - Implements open by storing all the arguments - |
-
-
- void
-
- |
-
-
-
- send(data)
-
- - - Implements send by noting that send was called and storing the data given - |
-
-
- void
-
- |
-
-
-
- setRequestHeader(label, value)
-
- - - Implements setRequestHeader by storing each header and its value in a hash - |
-
| Field Detail | -
Object requestHeaderNamesToValues-
| - Constructor Detail - | -
MockXmlHttpRequest()- - - - - - - - - - - - - -
| - Method Detail - | -
void open(method, url, isAsync, userName, password)- -
method -
- url -
- isAsync -
- userName -
- password -
- void send(data)- -
data -
- void setRequestHeader(label, value)- -
label -
- value -
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
Object - | - +--Utilities -- - -
-
Defined in jsUnitCore.js
-
| -Constructor Summary | -|
-
-
- Utilities()
-
- - - - |
-|
| -Method Summary | -|
-
- <static> Object
-
- |
-
-
-
- getFunctionName(aFunction)
-
- - - Returns the name of the given function, or 'anonymous' if it has no name - |
-
-
- <static> Object
-
- |
-
-
-
- getStackTrace()
-
- - - Returns the current stack trace - |
-
-
- <static> Object
-
- |
-
-
-
- isBlank(string)
-
- - - Returns whether the given string is blank after being trimmed of whitespace - |
-
-
- <static> Object
-
- |
-
-
-
- parseErrorStack(exception)
-
- - - Returns an array of stack trace elements from the given exception - |
-
-
- <static> void
-
- |
-
-
-
- pop(anArray)
-
- - - Implemented here because the JavaScript Array.push(anObject) and Array.pop() functions are not available in IE 5.0 - |
-
-
- <static> void
-
- |
-
-
-
- push(anArray, anObject)
-
- - - Implemented here because the JavaScript Array.push(anObject) and Array.pop() functions are not available in IE 5.0 - |
-
-
- <static> Object
-
- |
-
-
-
- standardizeHTML(html)
-
- - - Standardizes an HTML string by temporarily creating a DIV, setting its innerHTML to the string, and the asking for - the innerHTML back - |
-
-
- <static> Object
-
- |
-
-
-
- trim(string)
-
- - - Strips whitespace from either end of the given string - |
-
| - Constructor Detail - | -
Utilities()- - - - - - - - - - - - - -
| - Method Detail - | -
<static> Object getFunctionName(aFunction)- -
aFunction -
- <static> Object getStackTrace()- -
<static> Object isBlank(string)- -
string -
- <static> Object parseErrorStack(exception)- -
exception -
- <static> void pop(anArray)- -
anArray - the array from which to pop
- <static> void push(anArray, anObject)- -
anArray - the array onto which to push
- anObject - the object to push onto the array
- <static> Object standardizeHTML(html)- -
html -
- <static> Object trim(string)- -
string -
-
-
-
|
--JsUnit - - | - -||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||
| - SUMMARY: FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||
| Clock
- - |
-
| GLOBALS
- - |
-
| JsUnitAssertionArgumentError
- - |
-
| JsUnitError
- - |
-
| JsUnitFailure
- - |
-
| JsUnitTestSuite
- - |
-
| MockXmlHttpRequest
- - |
-
| Utilities
- - |
-
-
-| Clock
- - |
-
| GLOBALS
- - |
-
| JsUnitAssertionArgumentError
- - |
-
| JsUnitError
- - |
-
| JsUnitFailure
- - |
-
| JsUnitTestSuite
- - |
-
| MockXmlHttpRequest
- - |
-
| Utilities
- - |
-
-
-
|
--JsUnit - - | -||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||
- -- - --Each class has its own separate page. Each of these pages has three sections consisting of a class description, summary tables, and detailed member descriptions:
-
-Each summary entry contains the first sentence from the detailed description for that item.- Class inheritance diagram
- Direct Subclasses
- Class declaration
- Class description -
-
- Field Summary
- Constructor Summary
- Method Summary -
-
- Field Detail
- Constructor Detail
- Method Detail
-The Index contains an alphabetic list of all classes, constructors, methods, and fields.-
-
-
-This help file applies to API documentation generated using the standard doclet.
-
-
-
-
-
|
--JsUnit - - | -||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||
-
-
|
--JsUnit - - | -||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||
-
-
|
--JsUnit - - | -||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-
-Link to Non-frame version.
-
-| All Classes
-
-
-Files
- |
-
- - - diff --git a/scripts/jsunit/doc/js_docs_out/overview-jsUnitAjax.js.html b/scripts/jsunit/doc/js_docs_out/overview-jsUnitAjax.js.html deleted file mode 100644 index 5f623e17e..000000000 --- a/scripts/jsunit/doc/js_docs_out/overview-jsUnitAjax.js.html +++ /dev/null @@ -1,36 +0,0 @@ - - - -
-| MockXmlHttpRequest
- - |
-
| JsUnitAssertionArgumentError
- - |
-
| JsUnitError
- - |
-
| JsUnitFailure
- - |
-
| JsUnitTestSuite
- - |
-
| Utilities
- - |
-
| Clock
- - |
-
-
-
|
-- -JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
- jsUnitAjax.js contains a mock implementation of XmlHttpRequest that can be used for testing the sending and receiving
- AJAX requests and responses.
-
-
| - - Class Summary - - | -|
| MockXmlHttpRequest | -A MockXmlHttpRequest implements the XmlHttpRequest API. | -
| - - Method Summary - - | -|
-
- static Object
-
- |
-
-
-
- createXmlHttpRequest()
-
- - - Useful for testing. - |
-
-
-
|
--JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
-
|
-- -JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
- jsUnitCore.js contains the implementation of the core JsUnit functionality: assertions, JsUnitTestSuites, and JsUnitException.
- An HTML page is considered to be a JsUnit Test Page if it "includes" jsUnitCore.js, i.e. the following line is present:
-
- <script type="text/javascript" src="/path/to/jsUnitCore.js"></script>
-
-
Author: Edward Hieatt, edward@jsunit.net, http://www.jsunit.net
-
-
| - - Class Summary - - | -|
| JsUnitAssertionArgumentError | -A JsUnitAssertionArgumentError represents an invalid call to an assertion function - either an invalid argument type - or an incorrect number of arguments - | -
| JsUnitError | -A JsUnitError represents an error (an exception or a call to error()) during the execution of a Test Function - | -
| JsUnitFailure | -A JsUnitFailure represents an assertion failure (or a call to fail()) during the execution of a Test Function - | -
| JsUnitTestSuite | -A JsUnitTestSuite represents a suite of JsUnit Test Pages. | -
| Utilities | -- |
| - - Method Summary - - | -|
-
- static void
-
- |
-
-
-
- assert()
-
- - - Checks that the given boolean value is true. - |
-
-
- static void
-
- |
-
-
-
- assertArrayEquals()
-
- - - Checks that an array is equal to another by checking that both are arrays and then comparing their elements using assertObjectEquals - |
-
-
- static void
-
- |
-
-
-
- assertArrayEqualsIgnoringOrder()
-
- - - Checks that two arrays have the same contents, ignoring the order of the contents - |
-
-
- static void
-
- |
-
-
-
- assertContains()
-
- - - Checks that a collection contains a value by checking that collection.indexOf(value) is not -1 - |
-
-
- static void
-
- |
-
-
-
- assertEquals()
-
- - - Checks that two values are equal (using ===) - |
-
-
- static void
-
- |
-
-
-
- assertEqualsIgnoringOrder()
-
- - - Synonym for assertArrayEqualsIgnoringOrder - |
-
-
- static void
-
- |
-
-
-
- assertEvaluatesToFalse()
-
- - - Checks that a value evaluates to false in the sense that value == false - |
-
-
- static void
-
- |
-
-
-
- assertEvaluatesToTrue()
-
- - - Checks that a value evaluates to true in the sense that value == true - |
-
-
- static void
-
- |
-
-
-
- assertFalse()
-
- - - Checks that a boolean value is false. - |
-
-
- static void
-
- |
-
-
-
- assertHashEquals()
-
- - - Checks that a hash is has the same contents as another by iterating over the expected hash and checking that each - key's value is present in the actual hash and calling assertEquals on the two values, and then checking that there is - no key in the actual hash that isn't present in the expected hash. - |
-
-
- static void
-
- |
-
-
-
- assertHTMLEquals()
-
- - - Checks that a value is the same as an HTML string by "standardizing" both and comparing the result for equality. - |
-
-
- static void
-
- |
-
-
-
- assertNaN()
-
- - - Checks that a value is NaN (Not a Number) - |
-
-
- static void
-
- |
-
-
-
- assertNotEquals()
-
- - - Checks that two values are not equal (using !==) - |
-
-
- static void
-
- |
-
-
-
- assertNotNaN()
-
- - - Checks that a value is not NaN (i.e. - |
-
-
- static void
-
- |
-
-
-
- assertNotNull()
-
- - - Checks that a value is not null - |
-
-
- static void
-
- |
-
-
-
- assertNotUndefined()
-
- - - Checks that a value is not undefined - |
-
-
- static void
-
- |
-
-
-
- assertNull()
-
- - - Checks that a value is null - |
-
-
- static void
-
- |
-
-
-
- assertObjectEquals()
-
- - - Checks that an object is equal to another using === for primitives and their object counterparts but also desceding - into collections and calling assertObjectEquals for each element - |
-
-
- static void
-
- |
-
-
-
- assertRoughlyEquals()
-
- - - Checks that two value are within a tolerance of one another - |
-
-
- static void
-
- |
-
-
-
- assertTrue()
-
- - - Synonym for assertTrue - |
-
-
- static void
-
- |
-
-
-
- assertUndefined()
-
- - - Checks that a value is undefined - |
-
-
- static void
-
- |
-
-
-
- debug()
-
- - - - |
-
-
- static void
-
- |
-
-
-
- error(errorMessage)
-
- - - Causes an error - |
-
-
- static void
-
- |
-
-
-
- fail(failureMessage)
-
- - - Causes a failure - |
-
-
- static void
-
- |
-
-
-
- info()
-
- - - - |
-
-
- static void
-
- |
-
-
-
- inform()
-
- - - - |
-
-
- static Object
-
- |
-
-
-
- isLoaded()
-
- - - - |
-
-
- static Object
-
- |
-
-
-
- jsUnitGetParm(name)
-
- - - - |
-
-
- static void
-
- |
-
-
-
- jsUnitSetOnLoad(windowRef, onloadHandler)
-
- - - - |
-
-
- static void
-
- |
-
-
-
- newOnLoadEvent()
-
- - - - |
-
-
- static void
-
- |
-
-
-
- setJsUnitTracer(aJsUnitTracer)
-
- - - - |
-
-
- static void
-
- |
-
-
-
- warn()
-
- - - - |
-
-
-
|
--JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
-
|
-- -JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
- jsUnitMockTimeout.js changes the behavior of setTimeout, clearTimeout, setInterval and clearInterval to provide a
- powerful way of testing callbacks. Instead of setting up timed callbacks, the callbacks and the time to their
- execution are stored on a class called Clock. When the Clock is told to "advance time", the appropriate callbacks
- are executed. In this way, real time is taken out of the picture and the test author has control.
-
- Contributed by Nathan Wilmes of Pivotal Labs, http://www.pivotallabs.com
-
-
| - - Class Summary - - | -|
| Clock | -Clock stores callbacks and executes them when it is told to simulate the advancing of time - - | -
| - - Method Summary - - | -|
-
- static void
-
- |
-
-
-
- clearInterval(timeoutKey)
-
- - - Mocks out clearInterval by clearing Clock's scheduledFunction for the given ID - |
-
-
- static void
-
- |
-
-
-
- clearTimeout(timeoutKey)
-
- - - Mocks out clearTimeout by clearing Clock's scheduledFunction for the given ID - |
-
-
- static Object
-
- |
-
-
-
- setInterval(funcToCall, millis)
-
- - - Mocks out setInterval by registering the callback with Clock - |
-
-
- static Object
-
- |
-
-
-
- setTimeout(funcToCall, millis)
-
- - - Mocks out setTimeout by registering the callback with Clock - |
-
-
-
|
--JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
-
|
-- -JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
- This document is the API Specification for - JsUnit. -
- - - -- - JsUnit is an open-source unit testing framework for JavaScript. JsUnit conforms to the standards of the xUnit frameworks - it has the usual set of assertions (plus some JavaScript-specific ones), setUp, tearDown, test suites, etc. - -
- -| - - File Summary - - | -|
| jsUnitAjax.js | -jsUnitAjax.js contains a mock implementation of XmlHttpRequest that can be used for testing the sending and receiving - AJAX requests and responses. | -
| jsUnitCore.js | -jsUnitCore.js contains the implementation of the core JsUnit functionality: assertions, JsUnitTestSuites, and JsUnitException. | -
| jsUnitMockTimeout.js | -jsUnitMockTimeout.js changes the behavior of setTimeout, clearTimeout, setInterval and clearInterval to provide a - powerful way of testing callbacks. | -
-
-
|
--JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
-
-
|
--JsUnit - | -||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||
-
-
|
--JsUnit - | -|||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -|||||||
Common Public License - v 1.0 - -
- -
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC - LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF - THIS AGREEMENT. - -
- -
1. DEFINITIONS - -
"Contribution" means: - -
- -
"Contributor" means any person or entity that distributes the Program. - -
- -
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by - the use or sale of its Contribution alone or when combined with the Program. - -
- -
"Program" means the Contributions distributed in accordance with this - Agreement. - -
- -
"Recipient" means anyone who receives the Program under this Agreement, including all - Contributors. - -
- -
2. GRANT OF RIGHTS - -
3. REQUIREMENTS - -
A Contributor may choose to distribute the Program in object code form under its own license - agreement, provided that: - -
When the Program is made available in source code form: - -
-
-
Contributors may not remove or alter any
- copyright notices contained within the Program.
-
-
- -
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that - reasonably allows subsequent Recipients to identify the originator of the Contribution. - -
- -
4. COMMERCIAL DISTRIBUTION - -
Commercial distributors of software may accept certain responsibilities with respect to end users, - business partners and the like. While this license is intended to facilitate the commercial use of the Program, the - Contributor who includes the Program in a commercial product offering should do so in a manner which does not create - potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product - offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor - ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, - lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused - by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a - commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any - actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) - promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to - control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The - Indemnified Contributor may participate in any such claim at its own expense. - -
- -
For example, a Contributor might include the Program in a commercial product offering, Product X. That - Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or - offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's - responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other - Contributors related to those performance claims and warranties, and if a court requires any other Contributor to - pay any damages as a result, the Commercial Contributor must pay those damages. - -
- -
5. NO WARRANTY - -
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR - CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is - solely responsible for determining the appropriateness of using and distributing the - Program and assumes all risks associated with its exercise of rights under this - Agreement, including but not limited to the risks and costs of program errors, compliance with - applicable laws, damage to or loss of data, programs or equipment, and unavailability or - interruption of operations. - -
- -
6. DISCLAIMER OF LIABILITY - -
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY - CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -
- -
7. GENERAL - -
If any provision of this Agreement is invalid or unenforceable under applicable - law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without - further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such - provision valid and enforceable. - -
- -
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to - software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that - Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In - addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a - lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) - infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of - the date such litigation is filed. - -
- -
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the - material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after - becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to - cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under - this Agreement and any licenses granted by Recipient relating to the Program shall continue and - survive. - -
- -
Everyone is permitted to copy and distribute copies of this Agreement, but in - order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The - Agreement Steward reserves the right to publish new versions (including revisions) of this - Agreement from time to time. No one other than the Agreement Steward has the right to modify - this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement - Steward to a suitable separate entity. Each new version of the Agreement will be given a - distinguishing version number. The Program (including Contributions) may always be distributed subject to the - version of the Agreement under which it was received. In addition, after a new version of the Agreement is - published, Contributor may elect to distribute the Program (including its Contributions) under the - new version. Except as expressly stated in Sections 2(a) and 2(b) above, - Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, - whether expressly, by implication, estoppel or - otherwise. All rights in the Program not expressly granted under this - Agreement are reserved. - -
- -
This Agreement is governed by the laws of the State of New York and the intellectual property laws of - the United States of America. No party to this Agreement will bring a legal action under this Agreement more than - one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting - litigation. - -
- -
-
-
-
-
\ No newline at end of file
diff --git a/scripts/jsunit/java/lib/junit_4.1/junit.jar b/scripts/jsunit/java/lib/junit_4.1/junit.jar
deleted file mode 100644
index 2c46d67a2..000000000
Binary files a/scripts/jsunit/java/lib/junit_4.1/junit.jar and /dev/null differ
diff --git a/scripts/jsunit/java/lib/nekohtml_0.9.5/LICENSE b/scripts/jsunit/java/lib/nekohtml_0.9.5/LICENSE
deleted file mode 100644
index 05c4641cc..000000000
--- a/scripts/jsunit/java/lib/nekohtml_0.9.5/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-The CyberNeko Software License, Version 1.0
-
-
-(C) Copyright 2002-2005, Andy Clark. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
-3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by Andy Clark."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
-4. The names "CyberNeko" and "NekoHTML" must not be used to endorse
- or promote products derived from this software without prior
- written permission. For written permission, please contact
- andyc@cyberneko.net.
-
-5. Products derived from this software may not be called "CyberNeko",
- nor may "CyberNeko" appear in their name, without prior written
- permission of the author.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-====================================================================
-
-This license is based on the Apache Software License, version 1.1.
\ No newline at end of file
diff --git a/scripts/jsunit/java/lib/nekohtml_0.9.5/LICENSE_apache b/scripts/jsunit/java/lib/nekohtml_0.9.5/LICENSE_apache
deleted file mode 100644
index 28282b456..000000000
--- a/scripts/jsunit/java/lib/nekohtml_0.9.5/LICENSE_apache
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xerces" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com. For more
- * information on the Apache Software Foundation, please see
- *
This license applies to all interfaces and classes in the - org/xml/sax hierarchy. -
- --
- This module, both source code and documentation, is in the - Public Domain, and comes with NO WARRANTY. - See http://www.saxproject.org - for further information. -- - - - diff --git a/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.DOM-documentation.html b/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.DOM-documentation.html deleted file mode 100644 index 8dbfa66ec..000000000 --- a/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.DOM-documentation.html +++ /dev/null @@ -1,91 +0,0 @@ - - - -
Public documents on the W3C site are provided by the copyright holders under - the following license. By using and/or copying this document, or the W3C - document from which this statement is linked, you (the licensee) agree that you - have read, understood, and will comply with the following terms and - conditions:
- -Permission to copy, and distribute the contents of this document, or the W3C - document from which this statement is linked, in any medium for any purpose and - without fee or royalty is hereby granted, provided that you include the - following on ALL copies of the document, or portions thereof, that you - use:
-When space permits, inclusion of the full text of this NOTICE should - be provided. We request that authorship attribution be provided in any software, - documents, or other items or products that you create pursuant to the - implementation of the contents of this document, or any portion thereof.
- -No right to create modifications or derivatives of W3C documents is granted - pursuant to this license. However, if additional requirements (documented in the - Copyright FAQ) are - satisfied, the right to create modifications or derivatives is sometimes - granted by the W3C to individuals complying with those requirements.
- -THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO - REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED - TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, - NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR - ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY - THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
- -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE - OR IMPLEMENTATION OF THE CONTENTS THEREOF.
- -The name and trademarks of copyright holders may NOT be used in advertising - or publicity pertaining to this document or its contents without specific, - written prior permission. Title to copyright in this document will at all times - remain with copyright holders.
- - - -----------------------------------------------------------------------------
- -This formulation of W3C's notice and license became active on December 31 - 2002. This version removes the copyright ownership notice such that this license - can be used with materials other than those owned by the W3C, moves information - on style sheets, DTDs, and schemas to the Copyright FAQ, reflects - that ERCIM is now a host of the W3C, includes references to this specific dated - version of the license, and removes the ambiguous grant of "use". See the older - formulation for the policy prior to this date. Please see our Copyright FAQ for common - questions about using materials from our site, such as the translating or - annotating specifications. Other questions about this notice can be directed to - site-policy@w3.org.
- - -Joseph Reagle <mailto:site-policy@w3.org -Last revised by Reagle $Date: 2004-04-06 13:20:26 -0400 (Tue, 06 Apr 2004) $
- diff --git a/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.DOM-software.html b/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.DOM-software.html deleted file mode 100644 index d141a4f3d..000000000 --- a/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.DOM-software.html +++ /dev/null @@ -1,81 +0,0 @@ - - - -This work (and included software, documentation such as READMEs, or other - related items) is being provided by the copyright holders under the following - license. By obtaining, using and/or copying this work, you (the licensee) agree - that you have read, understood, and will comply with the following terms and - conditions.
- -Permission to copy, modify, and distribute this software and its - documentation, with or without modification, for any purpose and without - fee or royalty is hereby granted, provided that you include the following on ALL - copies of the software and documentation or portions thereof, including - modifications:
-THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS - MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT - LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE - OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD - PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
- -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR - DOCUMENTATION.
- -The name and trademarks of copyright holders may NOT be used in advertising - or publicity pertaining to the software without specific, written prior - permission. Title to copyright in this software and any associated documentation - will at all times remain with copyright holders.
- - - -____________________________________
- -This formulation of W3C's notice and license became active on December 31
- 2002. This version removes the copyright ownership notice such that this license
- can be used with materials other than those owned by the W3C, reflects that
- ERCIM is now a host of the W3C, includes references to this specific dated
- version of the license, and removes the ambiguous grant of "use". Otherwise,
- this version is the same as the previous
- version and is written so as to preserve the Free
- Software Foundation's assessment of GPL compatibility and OSI's certification under
- the Open Source
- Definition. Please see our Copyright FAQ for common
- questions about using materials from our site, including specific terms and
- conditions for packages like libwww, Amaya, and Jigsaw. Other questions about
- this notice can be directed to site-policy@w3.org.
Last revised by Reagle $Date: 2004-04-06 13:20:26 -0400 (Tue, 06 Apr 2004) $
- diff --git a/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.resolver.txt b/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.resolver.txt deleted file mode 100644 index b9f603162..000000000 --- a/scripts/jsunit/java/lib/xerces_2.8.0/LICENSE.resolver.txt +++ /dev/null @@ -1,53 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2001-2003 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - *JsUnit Licenses |
-
- - JsUnit Home - | -
|---|
- The licenses for all third-party libraries are packaged in the directory in which the third-party code lives. -
- -- JsUnit is licensed under 3 different licenses giving you the freedom - to use, modify and distribute JsUnit in a variety of fashions. -
- -See mozilla.org - for more details.
-See www.gnu.org - for more details.
-See www.gnu.org - for more details.
-- Every Java and JavaScript source file in this distribution should be considered to be under the following licensing - terms. -
- -- ***** BEGIN LICENSE BLOCK ***** - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - - - The contents of this file are subject to the Mozilla Public License Version - - 1.1 (the "License"); you may not use this file except in compliance with - - the License. You may obtain a copy of the License at - - http://www.mozilla.org/MPL/ - - - - Software distributed under the License is distributed on an "AS IS" basis, - - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - - for the specific language governing rights and limitations under the - - License. - - - - The Original Code is Edward Hieatt code. - - - - The Initial Developer of the Original Code is - - Edward Hieatt, edward@jsunit.net. - - Portions created by the Initial Developer are Copyright (C) 2003 - - the Initial Developer. All Rights Reserved. - - - - Author Edward Hieatt, edward@jsunit.net - - - - Alternatively, the contents of this file may be used under the terms of - - either the GNU General Public License Version 2 or later (the "GPL"), or - - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - - in which case the provisions of the GPL or the LGPL are applicable instead - - of those above. If you wish to allow use of your version of this file only - - under the terms of either the GPL or the LGPL, and not to allow others to - - use your version of this file under the terms of the MPL, indicate your - - decision by deleting the provisions above and replace them with the notice - - and other provisions required by the LGPL or the GPL. If you do not delete - - the provisions above, a recipient may use your version of this file under - - the terms of any one of the MPL, the GPL or the LGPL. - - - - ***** END LICENSE BLOCK ***** -- - - - diff --git a/scripts/jsunit/licenses/lgpl-2.1.txt b/scripts/jsunit/licenses/lgpl-2.1.txt deleted file mode 100644 index b1e3f5a26..000000000 --- a/scripts/jsunit/licenses/lgpl-2.1.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - -
This page contains failing and erroring tests. It exists for developers of the framework to experiment with.
- - diff --git a/scripts/jsunit/tests/jsUnitAjaxTest.html b/scripts/jsunit/tests/jsUnitAjaxTest.html deleted file mode 100644 index 8003eb7e3..000000000 --- a/scripts/jsunit/tests/jsUnitAjaxTest.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -This page contains tests for the JsUnit AJAX library. To see them, take a look at the source.
- - \ No newline at end of file diff --git a/scripts/jsunit/tests/jsUnitAssertionTests.html b/scripts/jsunit/tests/jsUnitAssertionTests.html deleted file mode 100644 index e05d55efb..000000000 --- a/scripts/jsunit/tests/jsUnitAssertionTests.html +++ /dev/null @@ -1,483 +0,0 @@ - - - -This page contains tests for the JsUnit Assertion functions. To see them, take a look at the source.
- - diff --git a/scripts/jsunit/tests/jsUnitFrameworkUtilityTests.html b/scripts/jsunit/tests/jsUnitFrameworkUtilityTests.html deleted file mode 100644 index 80a959cfd..000000000 --- a/scripts/jsunit/tests/jsUnitFrameworkUtilityTests.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - -This page contains tests for the JsUnit framework uses. To see them, take a look at the source.
- - diff --git a/scripts/jsunit/tests/jsUnitMockTimeoutTest.html b/scripts/jsunit/tests/jsUnitMockTimeoutTest.html deleted file mode 100644 index 52d87ec81..000000000 --- a/scripts/jsunit/tests/jsUnitMockTimeoutTest.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - -This page contains tests for the JsUnit Clock library. To see them, take a look at the source.
- - \ No newline at end of file diff --git a/scripts/jsunit/tests/jsUnitOnLoadTests.html b/scripts/jsunit/tests/jsUnitOnLoadTests.html deleted file mode 100644 index 6259ba112..000000000 --- a/scripts/jsunit/tests/jsUnitOnLoadTests.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -This page contains tests for the JsUnit Framework. To see them, take a look at the source.
- - diff --git a/scripts/jsunit/tests/jsUnitParamsTests.html b/scripts/jsunit/tests/jsUnitParamsTests.html deleted file mode 100644 index 28a036cde..000000000 --- a/scripts/jsunit/tests/jsUnitParamsTests.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - -This page contains tests for the JsUnit setUp and tearDown framework. To see them, take a look at the source.
- -This page contains tests for the JsUnit setUp and tearDown framework. To see them, take a look at the source.
- - diff --git a/scripts/jsunit/tests/jsUnitTestLoadData.html b/scripts/jsunit/tests/jsUnitTestLoadData.html deleted file mode 100644 index 0fd74811a..000000000 --- a/scripts/jsunit/tests/jsUnitTestLoadData.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - -This page tests loading data documents asynchronously. To see them, take a look at the source.
- - diff --git a/scripts/jsunit/tests/jsUnitTestManagerTests.html b/scripts/jsunit/tests/jsUnitTestManagerTests.html deleted file mode 100644 index 6cbe7e05b..000000000 --- a/scripts/jsunit/tests/jsUnitTestManagerTests.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -This page tests asynchronous pre tests. To see them, take a look at the source.
- - - diff --git a/scripts/jsunit/tests/jsUnitTestSuite.html b/scripts/jsunit/tests/jsUnitTestSuite.html deleted file mode 100644 index c2a6bca56..000000000 --- a/scripts/jsunit/tests/jsUnitTestSuite.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -This page contains a suite of tests for testing JsUnit.
- - diff --git a/scripts/jsunit/tests/jsUnitTestSuiteTests.html b/scripts/jsunit/tests/jsUnitTestSuiteTests.html deleted file mode 100644 index a79a47f30..000000000 --- a/scripts/jsunit/tests/jsUnitTestSuiteTests.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - -This page contains tests for the utility functions - that JsUnit uses. To see them, take a look at the source.
- - diff --git a/scripts/yuicompressor/yuicompressor-2.4.2.jar b/scripts/yuicompressor/yuicompressor-2.4.2.jar deleted file mode 100644 index c29470bd0..000000000 Binary files a/scripts/yuicompressor/yuicompressor-2.4.2.jar and /dev/null differ