Merge "JavaScriptMinifier: Add test case for another line-break bug"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sun, 12 Aug 2018 17:51:55 +0000 (17:51 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sun, 12 Aug 2018 17:51:55 +0000 (17:51 +0000)
tests/phpunit/includes/libs/JavaScriptMinifierTest.php

index ce8bb06..16048bf 100644 (file)
@@ -261,6 +261,7 @@ class JavaScriptMinifierTest extends PHPUnit\Framework\TestCase {
                        [
                                // Regression test for T201606.
                                // Must not break between 'return' and Expression.
+                               // Was caused by bad state after '{}' in property value.
                                <<<JAVASCRIPT
                        call( function () {
                                try {
@@ -312,7 +313,41 @@ JAVASCRIPT
                                        ')',
                                        ';',
                                ]
-                       ]
+                       ],
+                       [
+                               // Regression test for T201606.
+                               // Must not break between 'return' and Expression.
+                               // FIXME: Cause?
+                               <<<JAVASCRIPT
+call( {
+       key: 1 ? 0 : function () {
+               return this;
+       }
+} );
+JAVASCRIPT
+                               ,
+                               [
+                                       'call',
+                                       '(',
+                                       '{',
+                                       'key',
+                                       ':',
+                                       '1',
+                                       '?',
+                                       '0',
+                                       ':',
+                                       'function',
+                                       '(',
+                                       ')',
+                                       '{',
+                                       'return', 'this', // FIXME
+                                       ';',
+                                       '}',
+                                       '}',
+                                       ')',
+                                       ';',
+                               ]
+                       ],
                ];
        }