diff options
author | Andreas Gohr <andi@splitbrain.org> | 2007-03-05 23:30:25 +0100 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2007-03-05 23:30:25 +0100 |
commit | d14bceaa1acadf8ed9dca783421662ae36bcef5d (patch) | |
tree | f67f3bba9177cae25676bb60cc4f78c5c0b9cfaa /_test | |
parent | 1db60ac7f5f2d7a56286651aa8c681005e79fede (diff) | |
download | rpg-d14bceaa1acadf8ed9dca783421662ae36bcef5d.tar.gz rpg-d14bceaa1acadf8ed9dca783421662ae36bcef5d.tar.bz2 |
added JsStrip unit test files
This patch adds unit test files from the new release of JsStrip [1]. Some of the tests
currently fail pointing to bugs which are fixed in the new JsStrip release. The fixes
need to be ported to DokuWiki's js_compress function.
This patch also adds a way to output additional info when a test fails. It misuses
SimpleTest's signalling which is probably a bad idea but works for now.
http://code.google.com/p/jsstrip/
darcs-hash:20070305223025-7ad00-583a70a1ddc374eb61193f9315af99baeedea0be.gz
Diffstat (limited to '_test')
38 files changed, 133 insertions, 0 deletions
diff --git a/_test/cases/lib/exe/js_js_compress.test.php b/_test/cases/lib/exe/js_js_compress.test.php index 20ad88210..b79cd9ab4 100644 --- a/_test/cases/lib/exe/js_js_compress.test.php +++ b/_test/cases/lib/exe/js_js_compress.test.php @@ -89,6 +89,20 @@ class js_js_compress_test extends UnitTestCase { $this->assertEqual(js_compress($text), "var foo=(baz)?'bar':'bla';"); } + + /** + * Test the files provided with the original JsStrip + */ + function test_original(){ + $files = glob(dirname(__FILE__).'/js_js_compress/test-*-in.js'); + + foreach($files as $file){ + $info = "Using file $file"; + $this->signal('failinfo',$info); + $this->assertEqual(js_compress(file_get_contents($file)), + file_get_contents(substr($file,0,-5).'out.js')); + }; + } } //Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-in.js b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-in.js new file mode 100644 index 000000000..771dc1640 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-in.js @@ -0,0 +1,5 @@ + + var s = " /* this is a comment */ " ; + + + diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-out.js b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-out.js new file mode 100644 index 000000000..7d6a5346e --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes1-out.js @@ -0,0 +1 @@ +var s=" /* this is a comment */ ";
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-in.js b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-in.js new file mode 100644 index 000000000..a59f1b774 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-in.js @@ -0,0 +1,5 @@ + + +var s = "// this is a comment "; + + diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-out.js b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-out.js new file mode 100644 index 000000000..caa2fdca2 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInDoubleQuotes2-out.js @@ -0,0 +1 @@ +var s="// this is a comment ";
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes1-in.js b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes1-in.js new file mode 100644 index 000000000..845c59bdf --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes1-in.js @@ -0,0 +1,5 @@ + + var s = ' /* this is a comment */ ' ; + + + diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes1-out.js b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes1-out.js new file mode 100644 index 000000000..b2696cb98 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes1-out.js @@ -0,0 +1 @@ +var s=' /* this is a comment */ ';
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes2-in.js b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes2-in.js new file mode 100644 index 000000000..0459a4891 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes2-in.js @@ -0,0 +1,5 @@ + + +var s = '// this is a comment '; + + diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes2-out.js b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes2-out.js new file mode 100644 index 000000000..21b6a410e --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentInSingleQuotes2-out.js @@ -0,0 +1 @@ +var s='// this is a comment ';
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentMultiline-in.js b/_test/cases/lib/exe/js_js_compress/test-CommentMultiline-in.js new file mode 100644 index 000000000..b9d16a7bd --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentMultiline-in.js @@ -0,0 +1,11 @@ + + if (true) { + /* this + * is a + * multiline comment */ + document.write("true"); /* this + is another + */ + +} + diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentMultiline-out.js b/_test/cases/lib/exe/js_js_compress/test-CommentMultiline-out.js new file mode 100644 index 000000000..8eed2e57a --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentMultiline-out.js @@ -0,0 +1 @@ +if(true){document.write("true");}
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentSingleLine-in.js b/_test/cases/lib/exe/js_js_compress/test-CommentSingleLine-in.js new file mode 100644 index 000000000..302d7160b --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentSingleLine-in.js @@ -0,0 +1,7 @@ + + if (true) { + // this is a single line comment + document.write("true") ; // another +} + + diff --git a/_test/cases/lib/exe/js_js_compress/test-CommentSingleLine-out.js b/_test/cases/lib/exe/js_js_compress/test-CommentSingleLine-out.js new file mode 100644 index 000000000..8eed2e57a --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-CommentSingleLine-out.js @@ -0,0 +1 @@ +if(true){document.write("true");}
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-IfThenElseBraces-in.js b/_test/cases/lib/exe/js_js_compress/test-IfThenElseBraces-in.js new file mode 100644 index 000000000..afc824762 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-IfThenElseBraces-in.js @@ -0,0 +1,7 @@ + + +if ( true ) { + document.write("foo"); +} else { + document.write("bar"); +} diff --git a/_test/cases/lib/exe/js_js_compress/test-IfThenElseBraces-out.js b/_test/cases/lib/exe/js_js_compress/test-IfThenElseBraces-out.js new file mode 100644 index 000000000..2a982a98e --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-IfThenElseBraces-out.js @@ -0,0 +1 @@ +if(true){document.write("foo");}else{document.write("bar");}
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-IfThenElseNoBraces-in.js b/_test/cases/lib/exe/js_js_compress/test-IfThenElseNoBraces-in.js new file mode 100644 index 000000000..79d10775e --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-IfThenElseNoBraces-in.js @@ -0,0 +1,7 @@ + + +if ( true ) + document.write("foo"); + else + document.write("bar"); + diff --git a/_test/cases/lib/exe/js_js_compress/test-IfThenElseNoBraces-out.js b/_test/cases/lib/exe/js_js_compress/test-IfThenElseNoBraces-out.js new file mode 100644 index 000000000..b087c42fc --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-IfThenElseNoBraces-out.js @@ -0,0 +1 @@ +if(true)document.write("foo");else document.write("bar");
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpBackslash-in.js b/_test/cases/lib/exe/js_js_compress/test-RegexpBackslash-in.js new file mode 100644 index 000000000..503e07283 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpBackslash-in.js @@ -0,0 +1,3 @@ + +var r = / a backslash\// ; + diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpBackslash-out.js b/_test/cases/lib/exe/js_js_compress/test-RegexpBackslash-out.js new file mode 100644 index 000000000..e5c83770c --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpBackslash-out.js @@ -0,0 +1 @@ +var r=/ a backslash\//;
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpSimple-in.js b/_test/cases/lib/exe/js_js_compress/test-RegexpSimple-in.js new file mode 100644 index 000000000..2741e74c2 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpSimple-in.js @@ -0,0 +1,3 @@ + + +var r = /simple/g ; diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpSimple-out.js b/_test/cases/lib/exe/js_js_compress/test-RegexpSimple-out.js new file mode 100644 index 000000000..bb530b0a1 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpSimple-out.js @@ -0,0 +1 @@ +var r=/simple/g;
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-in.js b/_test/cases/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-in.js new file mode 100644 index 000000000..c7dbdba3d --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-in.js @@ -0,0 +1,5 @@ + + + var r = / simple with whitespace /g ; + + diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-out.js b/_test/cases/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-out.js new file mode 100644 index 000000000..5c2db510b --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpSimpleWhitespace-out.js @@ -0,0 +1 @@ +var r=/ simple with whitespace /g;
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpString-in.js b/_test/cases/lib/exe/js_js_compress/test-RegexpString-in.js new file mode 100644 index 000000000..debb983e5 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpString-in.js @@ -0,0 +1,3 @@ + + var r = "fruit" ; + r.replace ( /fruit/g, "apple") ; diff --git a/_test/cases/lib/exe/js_js_compress/test-RegexpString-out.js b/_test/cases/lib/exe/js_js_compress/test-RegexpString-out.js new file mode 100644 index 000000000..92ffc7d47 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-RegexpString-out.js @@ -0,0 +1 @@ +var r="fruit";r.replace(/fruit/g,"apple");
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementDoWhile-in.js b/_test/cases/lib/exe/js_js_compress/test-StatementDoWhile-in.js new file mode 100644 index 000000000..0c84c66ec --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementDoWhile-in.js @@ -0,0 +1,2 @@ +var x = 0; + do x=x+1 while (x < 10); diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementDoWhile-out.js b/_test/cases/lib/exe/js_js_compress/test-StatementDoWhile-out.js new file mode 100644 index 000000000..593e9a664 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementDoWhile-out.js @@ -0,0 +1 @@ +var x=0;do x=x+1 while(x<10);
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementForIn-in.js b/_test/cases/lib/exe/js_js_compress/test-StatementForIn-in.js new file mode 100644 index 000000000..1b0aeb6ff --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementForIn-in.js @@ -0,0 +1,2 @@ +for ( var x in foo ) + document.write(x); diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementForIn-out.js b/_test/cases/lib/exe/js_js_compress/test-StatementForIn-out.js new file mode 100644 index 000000000..95c85871e --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementForIn-out.js @@ -0,0 +1 @@ +for(var x in foo)document.write(x);
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementNew-in.js b/_test/cases/lib/exe/js_js_compress/test-StatementNew-in.js new file mode 100644 index 000000000..61f357f34 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementNew-in.js @@ -0,0 +1 @@ +var x = new Object();
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementNew-out.js b/_test/cases/lib/exe/js_js_compress/test-StatementNew-out.js new file mode 100644 index 000000000..0d4ff7f58 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementNew-out.js @@ -0,0 +1 @@ +var x=new Object();
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementSwitchCase-in.js b/_test/cases/lib/exe/js_js_compress/test-StatementSwitchCase-in.js new file mode 100644 index 000000000..39ffc1239 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementSwitchCase-in.js @@ -0,0 +1,4 @@ +var x = 1; +switch (x) { + case 1: document.write(1); +}
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StatementSwitchCase-out.js b/_test/cases/lib/exe/js_js_compress/test-StatementSwitchCase-out.js new file mode 100644 index 000000000..e51c07371 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StatementSwitchCase-out.js @@ -0,0 +1 @@ +var x=1;switch(x){case 1:document.write(1);}
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StringDoubleQuotes-in.js b/_test/cases/lib/exe/js_js_compress/test-StringDoubleQuotes-in.js new file mode 100644 index 000000000..57fe13b90 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StringDoubleQuotes-in.js @@ -0,0 +1,3 @@ + +var s1 = "double \"quotes\"" ; +var s2 = "'test'" ; diff --git a/_test/cases/lib/exe/js_js_compress/test-StringDoubleQuotes-out.js b/_test/cases/lib/exe/js_js_compress/test-StringDoubleQuotes-out.js new file mode 100644 index 000000000..9f91fc83d --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StringDoubleQuotes-out.js @@ -0,0 +1 @@ +var s1="double \"quotes\"";var s2="'test'";
\ No newline at end of file diff --git a/_test/cases/lib/exe/js_js_compress/test-StringSingleQuotes-in.js b/_test/cases/lib/exe/js_js_compress/test-StringSingleQuotes-in.js new file mode 100644 index 000000000..bb5f9951a --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StringSingleQuotes-in.js @@ -0,0 +1,8 @@ + +var s1 = 'single \'quotes\' ' ; + +var s2= '/* test */' ; + +var s3 = '// test' ; + +var s4 = '"test"' ; diff --git a/_test/cases/lib/exe/js_js_compress/test-StringSingleQuotes-out.js b/_test/cases/lib/exe/js_js_compress/test-StringSingleQuotes-out.js new file mode 100644 index 000000000..f38b26544 --- /dev/null +++ b/_test/cases/lib/exe/js_js_compress/test-StringSingleQuotes-out.js @@ -0,0 +1 @@ +var s1='single \'quotes\' ';var s2='/* test */';var s3='// test';var s4='"test"';
\ No newline at end of file diff --git a/_test/lib/cli_reporter.php b/_test/lib/cli_reporter.php index a65112a34..e83911c73 100644 --- a/_test/lib/cli_reporter.php +++ b/_test/lib/cli_reporter.php @@ -23,6 +23,7 @@ if (version_compare(phpversion(), '4.3.0', '<') || class CLIReporter extends SimpleReporter { var $faildetail_separator = ST_FAILDETAIL_SEPARATOR; + var $_failinfo; function CLIReporter($faildetail_separator = NULL) { $this->SimpleReporter(); @@ -54,6 +55,10 @@ class CLIReporter extends SimpleReporter { parent::paintFail($message); fwrite(STDERR, 'FAIL' . $this->faildetail_separator . $this->_paintTestFailDetail($message)); + if($this->_failinfo){ + fwrite(STDERR, ' additional info was: '.$this->_failinfo."\n"); + $this->_failinfo = ''; + } } /** @@ -66,6 +71,16 @@ class CLIReporter extends SimpleReporter { } /** + * Handle failinfo message + */ + function paintSignal($type,$message) { + parent::paintSignal($type,$message); + if($type = 'failinfo') $this->_failinfo = $message; + } + + + + /** * Paint a footer with test case name, timestamp, counts of fails and * exceptions. */ |