minor
authorMihai Bazon <mihai@bazon.net>
Mon, 27 Aug 2012 08:00:26 +0000 (11:00 +0300)
committerMihai Bazon <mihai@bazon.net>
Mon, 27 Aug 2012 08:00:26 +0000 (11:00 +0300)
test/compress/blocks.js
test/compress/dead-code.js
test/run-tests.js
tmp/test-node.js

index 027b5d6..8372adf 100644 (file)
@@ -20,7 +20,7 @@ keep_some_blocks: {
         // 1.
         if (foo) {
             {{{}}}
-            if (bar) baz();
+            if (bar) { baz(); }
             {{}}
         } else {
             stuff();
index bb95556..e84b401 100644 (file)
@@ -33,11 +33,17 @@ dead_code_2_should_warn: {
             x = 10;
             throw "foo";
             // completely discarding the `if` would introduce some
-            // bugs.  UglifyJS v1 doesn't deal with this issue.
+            // 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(){};
+                })();
             }
         }
     }
index b6e8ee2..5201832 100755 (executable)
@@ -22,11 +22,11 @@ function log() {
 }
 
 function log_directory(dir) {
-    log("--- Entering [{dir}]", { dir: dir });
+    log("*** Entering [{dir}]", { dir: dir });
 }
 
 function log_start_file(file) {
-    log("*** {file}", { file: file });
+    log("--- {file}", { file: file });
 }
 
 function log_test(name) {
index c6ab503..bb009e7 100755 (executable)
@@ -11,27 +11,28 @@ var code = fs.readFileSync(filename, "utf8");
 var ast = time_it("parse", function() {
     return UglifyJS.parse(code);
 });
-var stream = UglifyJS.OutputStream({ beautify: true });
+var stream = UglifyJS.OutputStream({ beautify: false });
 time_it("scope", function(){
     ast.figure_out_scope();
 });
-time_it("mangle", function(){
-    ast.mangle_names();
-});
+// time_it("mangle", function(){
+//     ast.mangle_names();
+// });
 
-ast.scope_warnings();
+//ast.scope_warnings();
 
 time_it("compress", function(){
     var compressor = new UglifyJS.Compressor({
     });
     ast = ast.squeeze(compressor);
 });
+
 time_it("generate", function(){
     ast.print(stream);
 });
 sys.puts(stream.get());
 
-ast.scope_warnings();
+//ast.scope_warnings();
 
 function time_it(name, cont) {
     var t1 = new Date().getTime();