Add .gitattributes to checkout lf eol style
authorAnthony Van de Gejuchte <anthonyvdgent@gmail.com>
Sat, 18 Feb 2017 11:33:05 +0000 (19:33 +0800)
committeralexlamsl <alexlamsl@gmail.com>
Tue, 21 Feb 2017 05:29:58 +0000 (13:29 +0800)
closes #1487

.gitattributes [new file with mode: 0644]
test/compress/dead-code.js
test/compress/drop-console.js

diff --git a/.gitattributes b/.gitattributes
new file mode 100644 (file)
index 0000000..6edcf86
--- /dev/null
@@ -0,0 +1 @@
+*.js    text eol=lf
index fa4b37d..c83f204 100644 (file)
-dead_code_1: {\r
-    options = {\r
-        dead_code: true\r
-    };\r
-    input: {\r
-        function f() {\r
-            a();\r
-            b();\r
-            x = 10;\r
-            return;\r
-            if (x) {\r
-                y();\r
-            }\r
-        }\r
-    }\r
-    expect: {\r
-        function f() {\r
-            a();\r
-            b();\r
-            x = 10;\r
-            return;\r
-        }\r
-    }\r
-}\r
-\r
-dead_code_2_should_warn: {\r
-    options = {\r
-        dead_code: true\r
-    };\r
-    input: {\r
-        function f() {\r
-            g();\r
-            x = 10;\r
-            throw "foo";\r
-            // completely discarding the `if` would introduce some\r
-            // bugs.  UglifyJS v1 doesn't deal with this issue; in v2\r
-            // we copy any declarations to the upper scope.\r
-            if (x) {\r
-                y();\r
-                var x;\r
-                function g(){};\r
-                // but nested declarations should not be kept.\r
-                (function(){\r
-                    var q;\r
-                    function y(){};\r
-                })();\r
-            }\r
-        }\r
-    }\r
-    expect: {\r
-        function f() {\r
-            g();\r
-            x = 10;\r
-            throw "foo";\r
-            var x;\r
-            function g(){};\r
-        }\r
-    }\r
-}\r
-\r
-dead_code_constant_boolean_should_warn_more: {\r
-    options = {\r
-        dead_code    : true,\r
-        loops        : true,\r
-        booleans     : true,\r
-        conditionals : true,\r
-        evaluate     : true\r
-    };\r
-    input: {\r
-        while (!((foo && bar) || (x + "0"))) {\r
-            console.log("unreachable");\r
-            var foo;\r
-            function bar() {}\r
-        }\r
-        for (var x = 10, y; x && (y || x) && (!typeof x); ++x) {\r
-            asdf();\r
-            foo();\r
-            var moo;\r
-        }\r
-    }\r
-    expect: {\r
-        var foo;\r
-        function bar() {}\r
-        // nothing for the while\r
-        // as for the for, it should keep:\r
-        var x = 10, y;\r
-        var moo;\r
-    }\r
-}\r
-\r
-dead_code_const_declaration: {\r
-    options = {\r
-        dead_code    : true,\r
-        loops        : true,\r
-        booleans     : true,\r
-        conditionals : true,\r
-        evaluate     : true\r
-    };\r
-    input: {\r
-        var unused;\r
-        const CONST_FOO = false;\r
-        if (CONST_FOO) {\r
-            console.log("unreachable");\r
-            var moo;\r
-            function bar() {}\r
-        }\r
-    }\r
-    expect: {\r
-        var unused;\r
-        const CONST_FOO = !1;\r
-        var moo;\r
-        function bar() {}\r
-    }\r
-}\r
-\r
-dead_code_const_annotation: {\r
-    options = {\r
-        dead_code    : true,\r
-        loops        : true,\r
-        booleans     : true,\r
-        conditionals : true,\r
-        evaluate     : true\r
-    };\r
-    input: {\r
-        var unused;\r
-        /** @const */ var CONST_FOO_ANN = false;\r
-        if (CONST_FOO_ANN) {\r
-            console.log("unreachable");\r
-            var moo;\r
-            function bar() {}\r
-        }\r
-    }\r
-    expect: {\r
-        var unused;\r
-        var CONST_FOO_ANN = !1;\r
-        var moo;\r
-        function bar() {}\r
-    }\r
-}\r
-\r
-dead_code_const_annotation_regex: {\r
-    options = {\r
-        dead_code    : true,\r
-        loops        : true,\r
-        booleans     : true,\r
-        conditionals : true,\r
-        evaluate     : true\r
-    };\r
-    input: {\r
-        var unused;\r
-        // @constraint this shouldn't be a constant\r
-        var CONST_FOO_ANN = false;\r
-        if (CONST_FOO_ANN) {\r
-            console.log("reachable");\r
-        }\r
-    }\r
-    expect: {\r
-        var unused;\r
-        var CONST_FOO_ANN = !1;\r
-        CONST_FOO_ANN && console.log('reachable');\r
-    }\r
-}\r
-\r
-dead_code_const_annotation_complex_scope: {\r
-    options = {\r
-        dead_code    : true,\r
-        loops        : true,\r
-        booleans     : true,\r
-        conditionals : true,\r
-        evaluate     : true\r
-    };\r
-    input: {\r
-        var unused_var;\r
-        /** @const */ var test = 'test';\r
-        // @const\r
-        var CONST_FOO_ANN = false;\r
-        var unused_var_2;\r
-        if (CONST_FOO_ANN) {\r
-            console.log("unreachable");\r
-            var moo;\r
-            function bar() {}\r
-        }\r
-        if (test === 'test') {\r
-            var beef = 'good';\r
-            /** @const */ var meat = 'beef';\r
-            var pork = 'bad';\r
-            if (meat === 'pork') {\r
-                console.log('also unreachable');\r
-            } else if (pork === 'good') {\r
-                console.log('reached, not const');\r
-            }\r
-        }\r
-    }\r
-    expect: {\r
-        var unused_var;\r
-        var test = 'test';\r
-        var CONST_FOO_ANN = !1;\r
-        var unused_var_2;\r
-        var moo;\r
-        function bar() {}\r
-        var beef = 'good';\r
-        var meat = 'beef';\r
-        var pork = 'bad';\r
-        'good' === pork && console.log('reached, not const');\r
-    }\r
-}\r
+dead_code_1: {
+    options = {
+        dead_code: true
+    };
+    input: {
+        function f() {
+            a();
+            b();
+            x = 10;
+            return;
+            if (x) {
+                y();
+            }
+        }
+    }
+    expect: {
+        function f() {
+            a();
+            b();
+            x = 10;
+            return;
+        }
+    }
+}
+
+dead_code_2_should_warn: {
+    options = {
+        dead_code: true
+    };
+    input: {
+        function f() {
+            g();
+            x = 10;
+            throw "foo";
+            // completely discarding the `if` would introduce some
+            // bugs.  UglifyJS v1 doesn't deal with this issue; in v2
+            // we copy any declarations to the upper scope.
+            if (x) {
+                y();
+                var x;
+                function g(){};
+                // but nested declarations should not be kept.
+                (function(){
+                    var q;
+                    function y(){};
+                })();
+            }
+        }
+    }
+    expect: {
+        function f() {
+            g();
+            x = 10;
+            throw "foo";
+            var x;
+            function g(){};
+        }
+    }
+}
+
+dead_code_constant_boolean_should_warn_more: {
+    options = {
+        dead_code    : true,
+        loops        : true,
+        booleans     : true,
+        conditionals : true,
+        evaluate     : true
+    };
+    input: {
+        while (!((foo && bar) || (x + "0"))) {
+            console.log("unreachable");
+            var foo;
+            function bar() {}
+        }
+        for (var x = 10, y; x && (y || x) && (!typeof x); ++x) {
+            asdf();
+            foo();
+            var moo;
+        }
+    }
+    expect: {
+        var foo;
+        function bar() {}
+        // nothing for the while
+        // as for the for, it should keep:
+        var x = 10, y;
+        var moo;
+    }
+}
+
+dead_code_const_declaration: {
+    options = {
+        dead_code    : true,
+        loops        : true,
+        booleans     : true,
+        conditionals : true,
+        evaluate     : true
+    };
+    input: {
+        var unused;
+        const CONST_FOO = false;
+        if (CONST_FOO) {
+            console.log("unreachable");
+            var moo;
+            function bar() {}
+        }
+    }
+    expect: {
+        var unused;
+        const CONST_FOO = !1;
+        var moo;
+        function bar() {}
+    }
+}
+
+dead_code_const_annotation: {
+    options = {
+        dead_code    : true,
+        loops        : true,
+        booleans     : true,
+        conditionals : true,
+        evaluate     : true
+    };
+    input: {
+        var unused;
+        /** @const */ var CONST_FOO_ANN = false;
+        if (CONST_FOO_ANN) {
+            console.log("unreachable");
+            var moo;
+            function bar() {}
+        }
+    }
+    expect: {
+        var unused;
+        var CONST_FOO_ANN = !1;
+        var moo;
+        function bar() {}
+    }
+}
+
+dead_code_const_annotation_regex: {
+    options = {
+        dead_code    : true,
+        loops        : true,
+        booleans     : true,
+        conditionals : true,
+        evaluate     : true
+    };
+    input: {
+        var unused;
+        // @constraint this shouldn't be a constant
+        var CONST_FOO_ANN = false;
+        if (CONST_FOO_ANN) {
+            console.log("reachable");
+        }
+    }
+    expect: {
+        var unused;
+        var CONST_FOO_ANN = !1;
+        CONST_FOO_ANN && console.log('reachable');
+    }
+}
+
+dead_code_const_annotation_complex_scope: {
+    options = {
+        dead_code    : true,
+        loops        : true,
+        booleans     : true,
+        conditionals : true,
+        evaluate     : true
+    };
+    input: {
+        var unused_var;
+        /** @const */ var test = 'test';
+        // @const
+        var CONST_FOO_ANN = false;
+        var unused_var_2;
+        if (CONST_FOO_ANN) {
+            console.log("unreachable");
+            var moo;
+            function bar() {}
+        }
+        if (test === 'test') {
+            var beef = 'good';
+            /** @const */ var meat = 'beef';
+            var pork = 'bad';
+            if (meat === 'pork') {
+                console.log('also unreachable');
+            } else if (pork === 'good') {
+                console.log('reached, not const');
+            }
+        }
+    }
+    expect: {
+        var unused_var;
+        var test = 'test';
+        var CONST_FOO_ANN = !1;
+        var unused_var_2;
+        var moo;
+        function bar() {}
+        var beef = 'good';
+        var meat = 'beef';
+        var pork = 'bad';
+        'good' === pork && console.log('reached, not const');
+    }
+}
index 2333722..7df6d9d 100644 (file)
@@ -1,24 +1,24 @@
-drop_console_1: {\r
-    options = {};\r
-    input: {\r
-        console.log('foo');\r
-        console.log.apply(console, arguments);\r
-    }\r
-    expect: {\r
-        console.log('foo');\r
-        console.log.apply(console, arguments);\r
-    }\r
-}\r
-\r
-drop_console_2: {\r
-    options = { drop_console: true };\r
-    input: {\r
-        console.log('foo');\r
-        console.log.apply(console, arguments);\r
-    }\r
-    expect: {\r
-        // with regular compression these will be stripped out as well\r
-        void 0;\r
-        void 0;\r
-    }\r
-}\r
+drop_console_1: {
+    options = {};
+    input: {
+        console.log('foo');
+        console.log.apply(console, arguments);
+    }
+    expect: {
+        console.log('foo');
+        console.log.apply(console, arguments);
+    }
+}
+
+drop_console_2: {
+    options = { drop_console: true };
+    input: {
+        console.log('foo');
+        console.log.apply(console, arguments);
+    }
+    expect: {
+        // with regular compression these will be stripped out as well
+        void 0;
+        void 0;
+    }
+}