From: Timo Tijhof Date: Fri, 22 Dec 2017 17:36:09 +0000 (+0100) Subject: resourceloader: Improve JavaScriptMinifier code coverage X-Git-Tag: 1.31.0-rc.0~1114^2~1 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/comptes/ajouter.php?a=commitdiff_plain;h=201c1d226cb552312ff9b1009b5749a6d4b8fc02;p=lhc%2Fweb%2Fwiklou.git resourceloader: Improve JavaScriptMinifier code coverage Change-Id: I234b996cfec8ef48ce3dc48aabbdf88bc9439c15 --- diff --git a/tests/phpunit/includes/libs/JavaScriptMinifierTest.php b/tests/phpunit/includes/libs/JavaScriptMinifierTest.php index ca12f6c777..12b2c04ab6 100644 --- a/tests/phpunit/includes/libs/JavaScriptMinifierTest.php +++ b/tests/phpunit/includes/libs/JavaScriptMinifierTest.php @@ -59,6 +59,20 @@ class JavaScriptMinifierTest extends PHPUnit_Framework_TestCase { [ "0xFF.\nx;", "0xFF.x;" ], [ "5.3.\nx;", "5.3.x;" ], + // Cover failure case for incomplete hex literal + [ "0x;", false, false ], + + // Cover failure case for number with no digits after E + [ "1.4E", false, false ], + + // Cover failure case for number with several E + [ "1.4EE2", false, false ], + [ "1.4EE", false, false ], + + // Cover failure case for number with several E (nonconsecutive) + // FIXME: This is invalid, but currently tolerated + [ "1.4E2E3", "1.4E2 E3", false ], + // Semicolon insertion between an expression having an inline // comment after it, and a statement on the next line (T29046). [ @@ -138,6 +152,7 @@ class JavaScriptMinifierTest extends PHPUnit_Framework_TestCase { [ "var a = 5.;", "var a=5.;" ], [ "5.0.toString();", "5.0.toString();" ], [ "5..toString();", "5..toString();" ], + // Cover failure case for too many decimal points [ "5...toString();", false ], [ "5.\n.toString();", '5..toString();' ], @@ -153,8 +168,9 @@ class JavaScriptMinifierTest extends PHPUnit_Framework_TestCase { /** * @dataProvider provideCases * @covers JavaScriptMinifier::minify + * @covers JavaScriptMinifier::parseError */ - public function testJavaScriptMinifierOutput( $code, $expectedOutput, $expectedValid = true ) { + public function testMinifyOutput( $code, $expectedOutput, $expectedValid = true ) { $minified = JavaScriptMinifier::minify( $code ); // JSMin+'s parser will throw an exception if output is not valid JS.