aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralexlamsl <alexlamsl@gmail.com>2018-07-01 14:34:42 +0800
committeralexlamsl <alexlamsl@gmail.com>2018-07-01 14:34:42 +0800
commit5ffc17d4aa36c40a4d5ebe558edbc734b45ca1dc (patch)
tree12f66c5bbd9b93a5f468cfad7349acea0900df28
parent6aa750010f23acdc24078a5d7e66cef009cbf570 (diff)
downloadtracifyjs-5ffc17d4aa36c40a4d5ebe558edbc734b45ca1dc.tar.gz
tracifyjs-5ffc17d4aa36c40a4d5ebe558edbc734b45ca1dc.zip
fix corner case in `unused`
-rw-r--r--lib/ast.js2
-rw-r--r--lib/compress.js351
-rw-r--r--test/compress/arrays.js18
-rw-r--r--test/compress/asm.js38
-rw-r--r--test/compress/collapse_vars.js583
-rw-r--r--test/compress/concat-strings.js14
-rw-r--r--test/compress/conditionals.js124
-rw-r--r--test/compress/dead-code.js22
-rw-r--r--test/compress/debugger.js8
-rw-r--r--test/compress/drop-console.js6
-rw-r--r--test/compress/drop-unused.js60
-rw-r--r--test/compress/evaluate.js76
-rw-r--r--test/compress/functions.js58
-rw-r--r--test/compress/global_defs.js8
-rw-r--r--test/compress/hoist_props.js22
-rw-r--r--test/compress/ie8.js2
-rw-r--r--test/compress/if_return.js164
-rw-r--r--test/compress/issue-1034.js182
-rw-r--r--test/compress/issue-1041.js4
-rw-r--r--test/compress/issue-1105.js62
-rw-r--r--test/compress/issue-12.js8
-rw-r--r--test/compress/issue-1202.js8
-rw-r--r--test/compress/issue-1261.js38
-rw-r--r--test/compress/issue-1275.js22
-rw-r--r--test/compress/issue-143.js8
-rw-r--r--test/compress/issue-1431.js8
-rw-r--r--test/compress/issue-1447.js22
-rw-r--r--test/compress/issue-1833.js2
-rw-r--r--test/compress/issue-208.js22
-rw-r--r--test/compress/issue-22.js4
-rw-r--r--test/compress/issue-267.js4
-rw-r--r--test/compress/issue-269.js24
-rw-r--r--test/compress/issue-281.js6
-rw-r--r--test/compress/issue-44.js8
-rw-r--r--test/compress/issue-59.js4
-rw-r--r--test/compress/issue-597.js4
-rw-r--r--test/compress/issue-611.js6
-rw-r--r--test/compress/issue-637.js6
-rw-r--r--test/compress/issue-640.js20
-rw-r--r--test/compress/issue-751.js8
-rw-r--r--test/compress/issue-892.js38
-rw-r--r--test/compress/issue-913.js4
-rw-r--r--test/compress/issue-973.js2
-rw-r--r--test/compress/issue-976.js25
-rw-r--r--test/compress/issue-979.js34
-rw-r--r--test/compress/labels.js54
-rw-r--r--test/compress/loops.js50
-rw-r--r--test/compress/negate-iife.js50
-rw-r--r--test/compress/new.js4
-rw-r--r--test/compress/pure_getters.js4
-rw-r--r--test/compress/reduce_vars.js128
-rw-r--r--test/compress/return_undefined.js38
-rw-r--r--test/compress/sequences.js48
-rw-r--r--test/compress/switch.js2
-rw-r--r--test/compress/typeof.js12
-rw-r--r--test/compress/unicode.js2
56 files changed, 1573 insertions, 958 deletions
diff --git a/lib/ast.js b/lib/ast.js
index c37ba598..b383dd0f 100644
--- a/lib/ast.js
+++ b/lib/ast.js
@@ -328,7 +328,7 @@ var AST_Toplevel = DEFNODE("Toplevel", "globals", {
var body = this.body;
var wrapped_tl = "(function(exports){'$ORIG';})(typeof " + name + "=='undefined'?(" + name + "={}):" + name + ");";
wrapped_tl = parse(wrapped_tl);
- wrapped_tl = wrapped_tl.transform(new TreeTransformer(function before(node) {
+ wrapped_tl = wrapped_tl.transform(new TreeTransformer(function(node) {
if (node instanceof AST_Directive && node.value == "$ORIG") {
return MAP.splice(body);
}
diff --git a/lib/compress.js b/lib/compress.js
index 70ee9363..da84df17 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -425,6 +425,7 @@ merge(Compressor.prototype, {
}
function safe_to_read(tw, def) {
+ if (def.single_use == "m") return false;
if (tw.safe_ids[def.id]) {
if (def.fixed == null) {
var orig = def.orig[0];
@@ -705,7 +706,7 @@ merge(Compressor.prototype, {
tw.loop_ids[d.id] = tw.in_loop;
}
var value;
- if (d.fixed === undefined || !safe_to_read(tw, d) || d.single_use == "m") {
+ if (d.fixed === undefined || !safe_to_read(tw, d)) {
d.fixed = false;
} else if (d.fixed) {
value = this.fixed_value();
@@ -3415,202 +3416,200 @@ merge(Compressor.prototype, {
});
}
// pass 3: we should drop declarations not in_use
- var tt = new TreeTransformer(
- function before(node, descend, in_list) {
- var parent = tt.parent();
- if (drop_vars) {
- var props = [], sym = assign_as_unused(node, props);
- if (sym instanceof AST_SymbolRef) {
- var def = sym.definition();
- var in_use = def.id in in_use_ids;
- var value = null;
- if (node instanceof AST_Assign) {
- if (!in_use || node.left === sym && def.id in fixed_ids && fixed_ids[def.id] !== node) {
- value = node.right;
- }
- } else if (!in_use) {
- value = make_node(AST_Number, node, {
- value: 0
- });
- }
- if (value) {
- props.push(value);
- return maintain_this_binding(compressor, parent, node, make_sequence(node, props.map(function(prop) {
- return prop.transform(tt);
- })));
+ var tt = new TreeTransformer(function(node, descend, in_list) {
+ var parent = tt.parent();
+ if (drop_vars) {
+ var props = [], sym = assign_as_unused(node, props);
+ if (sym instanceof AST_SymbolRef) {
+ var def = sym.definition();
+ var in_use = def.id in in_use_ids;
+ var value = null;
+ if (node instanceof AST_Assign) {
+ if (!in_use || node.left === sym && def.id in fixed_ids && fixed_ids[def.id] !== node) {
+ value = node.right;
}
+ } else if (!in_use) {
+ value = make_node(AST_Number, node, {
+ value: 0
+ });
+ }
+ if (value) {
+ props.push(value);
+ return maintain_this_binding(compressor, parent, node, make_sequence(node, props.map(function(prop) {
+ return prop.transform(tt);
+ })));
}
}
- if (scope !== self) return;
- if (node instanceof AST_Function
- && node.name
- && !compressor.option("keep_fnames")) {
- var def = node.name.definition();
- // any declarations with same name will overshadow
- // name of this anonymous function and can therefore
- // never be used anywhere
- if (!(def.id in in_use_ids) || def.orig.length > 1) node.name = null;
- }
- if (node instanceof AST_Lambda && !(node instanceof AST_Accessor)) {
- var trim = !compressor.option("keep_fargs");
- for (var a = node.argnames, i = a.length; --i >= 0;) {
- var sym = a[i];
- if (!(sym.definition().id in in_use_ids)) {
- sym.__unused = true;
- if (trim) {
- a.pop();
- compressor[sym.unreferenced() ? "warn" : "info"]("Dropping unused function argument {name} [{file}:{line},{col}]", template(sym));
- }
- } else {
- trim = false;
+ }
+ if (scope !== self) return;
+ if (node instanceof AST_Function
+ && node.name
+ && !compressor.option("keep_fnames")) {
+ var def = node.name.definition();
+ // any declarations with same name will overshadow
+ // name of this anonymous function and can therefore
+ // never be used anywhere
+ if (!(def.id in in_use_ids) || def.orig.length > 1) node.name = null;
+ }
+ if (node instanceof AST_Lambda && !(node instanceof AST_Accessor)) {
+ var trim = !compressor.option("keep_fargs");
+ for (var a = node.argnames, i = a.length; --i >= 0;) {
+ var sym = a[i];
+ if (!(sym.definition().id in in_use_ids)) {
+ sym.__unused = true;
+ if (trim) {
+ a.pop();
+ compressor[sym.unreferenced() ? "warn" : "info"]("Dropping unused function argument {name} [{file}:{line},{col}]", template(sym));
}
+ } else {
+ trim = false;
}
}
- if (drop_funcs && node instanceof AST_Defun && node !== self) {
- var def = node.name.definition();
- if (!(def.id in in_use_ids)) {
- compressor[node.name.unreferenced() ? "warn" : "info"]("Dropping unused function {name} [{file}:{line},{col}]", template(node.name));
- def.eliminated++;
- return make_node(AST_EmptyStatement, node);
- }
+ }
+ if (drop_funcs && node instanceof AST_Defun && node !== self) {
+ var def = node.name.definition();
+ if (!(def.id in in_use_ids)) {
+ compressor[node.name.unreferenced() ? "warn" : "info"]("Dropping unused function {name} [{file}:{line},{col}]", template(node.name));
+ def.eliminated++;
+ return make_node(AST_EmptyStatement, node);
}
- if (node instanceof AST_Definitions && !(parent instanceof AST_ForIn && parent.init === node)) {
- // place uninitialized names at the start
- var body = [], head = [], tail = [];
- // for unused names whose initialization has
- // side effects, we can cascade the init. code
- // into the next one, or next statement.
- var side_effects = [];
- node.definitions.forEach(function(def) {
- if (def.value) def.value = def.value.transform(tt);
- var sym = def.name.definition();
- if (!drop_vars || sym.id in in_use_ids) {
- if (def.value && sym.id in fixed_ids && fixed_ids[sym.id] !== def) {
- def.value = def.value.drop_side_effect_free(compressor);
- }
- if (def.name instanceof AST_SymbolVar) {
- var var_defs = var_defs_by_id.get(sym.id);
- if (var_defs.length > 1 && (!def.value || sym.orig.indexOf(def.name) > sym.eliminated)) {
- compressor.warn("Dropping duplicated definition of variable {name} [{file}:{line},{col}]", template(def.name));
- if (def.value) {
- var ref = make_node(AST_SymbolRef, def.name, def.name);
- sym.references.push(ref);
- var assign = make_node(AST_Assign, def, {
- operator: "=",
- left: ref,
- right: def.value
- });
- if (fixed_ids[sym.id] === def) {
- fixed_ids[sym.id] = assign;
- }
- side_effects.push(assign.transform(tt));
+ }
+ if (node instanceof AST_Definitions && !(parent instanceof AST_ForIn && parent.init === node)) {
+ // place uninitialized names at the start
+ var body = [], head = [], tail = [];
+ // for unused names whose initialization has
+ // side effects, we can cascade the init. code
+ // into the next one, or next statement.
+ var side_effects = [];
+ node.definitions.forEach(function(def) {
+ if (def.value) def.value = def.value.transform(tt);
+ var sym = def.name.definition();
+ if (!drop_vars || sym.id in in_use_ids) {
+ if (def.value && sym.id in fixed_ids && fixed_ids[sym.id] !== def) {
+ def.value = def.value.drop_side_effect_free(compressor);
+ }
+ if (def.name instanceof AST_SymbolVar) {
+ var var_defs = var_defs_by_id.get(sym.id);
+ if (var_defs.length > 1 && (!def.value || sym.orig.indexOf(def.name) > sym.eliminated)) {
+ compressor.warn("Dropping duplicated definition of variable {name} [{file}:{line},{col}]", template(def.name));
+ if (def.value) {
+ var ref = make_node(AST_SymbolRef, def.name, def.name);
+ sym.references.push(ref);
+ var assign = make_node(AST_Assign, def, {
+ operator: "=",
+ left: ref,
+ right: def.value
+ });
+ if (fixed_ids[sym.id] === def) {
+ fixed_ids[sym.id] = assign;
}
- remove(var_defs, def);
- sym.eliminated++;
- return;
+ side_effects.push(assign.transform(tt));
}
+ remove(var_defs, def);
+ sym.eliminated++;
+ return;
}
- if (def.value) {
- if (side_effects.length > 0) {
- if (tail.length > 0) {
- side_effects.push(def.value);
- def.value = make_sequence(def.value, side_effects);
- } else {
- body.push(make_node(AST_SimpleStatement, node, {
- body: make_sequence(node, side_effects)
- }));
- }
- side_effects = [];
+ }
+ if (def.value) {
+ if (side_effects.length > 0) {
+ if (tail.length > 0) {
+ side_effects.push(def.value);
+ def.value = make_sequence(def.value, side_effects);
+ } else {
+ body.push(make_node(AST_SimpleStatement, node, {
+ body: make_sequence(node, side_effects)
+ }));
}
- tail.push(def);
- } else {
- head.push(def);
+ side_effects = [];
}
- } else if (sym.orig[0] instanceof AST_SymbolCatch) {
- var value = def.value && def.value.drop_side_effect_free(compressor);
- if (value) side_effects.push(value);
- def.value = null;
+ tail.push(def);
+ } else {
head.push(def);
+ }
+ } else if (sym.orig[0] instanceof AST_SymbolCatch) {
+ var value = def.value && def.value.drop_side_effect_free(compressor);
+ if (value) side_effects.push(value);
+ def.value = null;
+ head.push(def);
+ } else {
+ var value = def.value && def.value.drop_side_effect_free(compressor);
+ if (value) {
+ compressor.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]", template(def.name));
+ side_effects.push(value);
} else {
- var value = def.value && def.value.drop_side_effect_free(compressor);
- if (value) {
- compressor.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]", template(def.name));
- side_effects.push(value);
- } else {
- compressor[def.name.unreferenced() ? "warn" : "info"]("Dropping unused variable {name} [{file}:{line},{col}]", template(def.name));
- }
- sym.eliminated++;
+ compressor[def.name.unreferenced() ? "warn" : "info"]("Dropping unused variable {name} [{file}:{line},{col}]", template(def.name));
}
- });
- if (head.length > 0 || tail.length > 0) {
- node.definitions = head.concat(tail);
- body.push(node);
- }
- if (side_effects.length > 0) {
- body.push(make_node(AST_SimpleStatement, node, {
- body: make_sequence(node, side_effects)
- }));
- }
- switch (body.length) {
- case 0:
- return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
- case 1:
- return body[0];
- default:
- return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, {
- body: body
- });
+ sym.eliminated++;
}
+ });
+ if (head.length > 0 || tail.length > 0) {
+ node.definitions = head.concat(tail);
+ body.push(node);
}
- // certain combination of unused name + side effect leads to:
- // https://github.com/mishoo/UglifyJS2/issues/44
- // https://github.com/mishoo/UglifyJS2/issues/1830
- // https://github.com/mishoo/UglifyJS2/issues/1838
- // that's an invalid AST.
- // We fix it at this stage by moving the `var` outside the `for`.
- if (node instanceof AST_For) {
- descend(node, this);
- var block;
- if (node.init instanceof AST_BlockStatement) {
- block = node.init;
- node.init = block.body.pop();
- block.body.push(node);
- }
- if (node.init instanceof AST_SimpleStatement) {
- node.init = node.init.body;
- } else if (is_empty(node.init)) {
- node.init = null;
- }
- return !block ? node : in_list ? MAP.splice(block.body) : block;
- }
- if (node instanceof AST_LabeledStatement && node.body instanceof AST_For) {
- descend(node, this);
- if (node.body instanceof AST_BlockStatement) {
- var block = node.body;
- node.body = block.body.pop();
- block.body.push(node);
- return in_list ? MAP.splice(block.body) : block;
- }
- return node;
+ if (side_effects.length > 0) {
+ body.push(make_node(AST_SimpleStatement, node, {
+ body: make_sequence(node, side_effects)
+ }));
}
- if (node instanceof AST_Scope) {
- var save_scope = scope;
- scope = node;
- descend(node, this);
- scope = save_scope;
- return node;
+ switch (body.length) {
+ case 0:
+ return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
+ case 1:
+ return body[0];
+ default:
+ return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, {
+ body: body
+ });
}
-
- function template(sym) {
- return {
- name : sym.name,
- file : sym.start.file,
- line : sym.start.line,
- col : sym.start.col
- };
+ }
+ // certain combination of unused name + side effect leads to:
+ // https://github.com/mishoo/UglifyJS2/issues/44
+ // https://github.com/mishoo/UglifyJS2/issues/1830
+ // https://github.com/mishoo/UglifyJS2/issues/1838
+ // that's an invalid AST.
+ // We fix it at this stage by moving the `var` outside the `for`.
+ if (node instanceof AST_For) {
+ descend(node, this);
+ var block;
+ if (node.init instanceof AST_BlockStatement) {
+ block = node.init;
+ node.init = block.body.pop();
+ block.body.push(node);
+ }
+ if (node.init instanceof AST_SimpleStatement) {
+ node.init = node.init.body;
+ } else if (is_empty(node.init)) {
+ node.init = null;
}
+ return !block ? node : in_list ? MAP.splice(block.body) : block;
}
- );
+ if (node instanceof AST_LabeledStatement && node.body instanceof AST_For) {
+ descend(node, this);
+ if (node.body instanceof AST_BlockStatement) {
+ var block = node.body;
+ node.body = block.body.pop();
+ block.body.push(node);
+ return in_list ? MAP.splice(block.body) : block;
+ }
+ return node;
+ }
+ if (node instanceof AST_Scope) {
+ var save_scope = scope;
+ scope = node;
+ descend(node, this);
+ scope = save_scope;
+ return node;
+ }
+
+ function template(sym) {
+ return {
+ name : sym.name,
+ file : sym.start.file,
+ line : sym.start.line,
+ col : sym.start.col
+ };
+ }
+ });
self.transform(tt);
function verify_safe_usage(def, read, modified) {
diff --git a/test/compress/arrays.js b/test/compress/arrays.js
index 68f08f74..36292206 100644
--- a/test/compress/arrays.js
+++ b/test/compress/arrays.js
@@ -15,9 +15,9 @@ holes_and_undefined: {
constant_join: {
options = {
- unsafe : true,
- evaluate : true
- };
+ evaluate: true,
+ unsafe: true,
+ }
input: {
var a = [ "foo", "bar", "baz" ].join("");
var a1 = [ "foo", "bar", "baz" ].join();
@@ -64,9 +64,9 @@ constant_join: {
constant_join_2: {
options = {
- unsafe : true,
- evaluate : true
- };
+ evaluate: true,
+ unsafe: true,
+ }
input: {
var a = [ "foo", "bar", boo(), "baz", "x", "y" ].join("");
var b = [ "foo", "bar", boo(), "baz", "x", "y" ].join("-");
@@ -93,9 +93,9 @@ constant_join_2: {
constant_join_3: {
options = {
- unsafe: true,
evaluate: true,
- };
+ unsafe: true,
+ }
input: {
var a = [ null ].join();
var b = [ , ].join();
@@ -133,7 +133,7 @@ for_loop: {
reduce_vars: true,
unsafe: true,
unused: true,
- };
+ }
input: {
function f0() {
var a = [1, 2, 3];
diff --git a/test/compress/asm.js b/test/compress/asm.js
index a9047c5d..d7b1b62b 100644
--- a/test/compress/asm.js
+++ b/test/compress/asm.js
@@ -1,24 +1,24 @@
asm_mixed: {
options = {
- sequences : true,
- properties : true,
- dead_code : true,
- drop_debugger : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- loops : true,
- unused : true,
- hoist_funs : true,
- keep_fargs : true,
- keep_fnames : false,
- hoist_vars : true,
- if_return : true,
- join_vars : true,
- side_effects : true,
- negate_iife : true
- };
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ drop_debugger: true,
+ evaluate: true,
+ hoist_funs: true,
+ hoist_vars: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ keep_fnames: false,
+ loops: true,
+ negate_iife: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
+ }
input: {
// adapted from http://asmjs.org/spec/latest/
function asm_GeometricMean(stdlib, foreign, buffer) {
diff --git a/test/compress/collapse_vars.js b/test/compress/collapse_vars.js
index 2df51793..15d8243c 100644
--- a/test/compress/collapse_vars.js
+++ b/test/compress/collapse_vars.js
@@ -1,9 +1,22 @@
collapse_vars_side_effects_1: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -76,9 +89,21 @@ collapse_vars_side_effects_1: {
collapse_vars_side_effects_2: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function fn(x) { return console.log(x), x; }
@@ -144,10 +169,24 @@ collapse_vars_side_effects_2: {
collapse_vars_issue_721: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true, passes:2
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ passes: 2,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
define(["require", "exports", 'handlebars'], function(require, exports, hb) {
@@ -211,10 +250,23 @@ collapse_vars_issue_721: {
collapse_vars_properties: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1(obj) {
@@ -239,10 +291,23 @@ collapse_vars_properties: {
collapse_vars_if: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -290,10 +355,23 @@ collapse_vars_if: {
collapse_vars_while: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:false, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: false,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1(y) {
@@ -339,10 +417,21 @@ collapse_vars_while: {
collapse_vars_do_while: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:false, loops:false, unused:"keep_assign",
- hoist_funs:true, keep_fargs:true, if_return:true, join_vars:true,
- side_effects:true
+ booleans: false,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: false,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: "keep_assign",
}
input: {
function f1(y) {
@@ -415,9 +504,21 @@ collapse_vars_do_while: {
collapse_vars_do_while_drop_assign: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:false, loops:false, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: false,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: false,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1(y) {
@@ -490,9 +591,21 @@ collapse_vars_do_while_drop_assign: {
collapse_vars_seq: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
var f1 = function(x, y) {
@@ -514,9 +627,21 @@ collapse_vars_seq: {
collapse_vars_throw: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
var f1 = function(x, y) {
@@ -546,9 +671,21 @@ collapse_vars_throw: {
collapse_vars_switch: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -586,9 +723,20 @@ collapse_vars_switch: {
collapse_vars_assignment: {
options = {
- collapse_vars:true, sequences:true, properties:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function log(x) { return console.log(x), x; }
@@ -659,10 +807,20 @@ collapse_vars_assignment: {
collapse_vars_lvalues: {
options = {
- collapse_vars:true, sequences:true, properties:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:"keep_assign",
- hoist_funs:true, keep_fargs:true, if_return:true, join_vars:true,
- side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: "keep_assign",
}
input: {
function f0(x) { var i = ++x; return x += i; }
@@ -692,9 +850,21 @@ collapse_vars_lvalues: {
collapse_vars_lvalues_drop_assign: {
options = {
- collapse_vars:true, sequences:true, properties:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true, passes:3
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ passes: 3,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f0(x) { var i = ++x; return x += i; }
@@ -724,10 +894,22 @@ collapse_vars_lvalues_drop_assign: {
collapse_vars_misc1: {
options = {
- collapse_vars:true, sequences:true, properties:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f0(o, a, h) {
@@ -771,10 +953,21 @@ collapse_vars_misc1: {
collapse_vars_self_reference: {
options = {
- collapse_vars:true, unused:false,
- sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: false,
}
input: {
// avoid bug in self-referential declaration.
@@ -802,10 +995,23 @@ collapse_vars_self_reference: {
collapse_vars_repeated: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -845,10 +1051,23 @@ collapse_vars_repeated: {
collapse_vars_closures: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function constant_vars_can_be_replaced_in_any_scope() {
@@ -873,9 +1092,21 @@ collapse_vars_closures: {
collapse_vars_unary: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f0(o, p) {
@@ -936,10 +1167,23 @@ collapse_vars_unary: {
collapse_vars_try: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -992,9 +1236,21 @@ collapse_vars_try: {
collapse_vars_array: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1(x, y) {
@@ -1026,9 +1282,21 @@ collapse_vars_array: {
collapse_vars_object: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f0(x, y) {
@@ -1094,9 +1362,21 @@ collapse_vars_object: {
collapse_vars_eval_and_with: {
options = {
- collapse_vars:true, sequences:false, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: false,
+ side_effects: true,
+ unused: true,
}
input: {
// Don't attempt to collapse vars in presence of eval() or with statement.
@@ -1134,10 +1414,23 @@ collapse_vars_eval_and_with: {
collapse_vars_constants: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1(x) {
@@ -1172,10 +1465,24 @@ collapse_vars_constants: {
collapse_vars_arguments: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true,
- toplevel:true, reduce_funcs: true, reduce_vars:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ sequences: true,
+ side_effects: true,
+ toplevel: true,
+ unused: true,
}
input: {
var outer = function() {
@@ -1195,9 +1502,21 @@ collapse_vars_arguments: {
collapse_vars_short_circuit: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f0(x) { var a = foo(), b = bar(); return b || x; }
@@ -1237,20 +1556,20 @@ collapse_vars_short_circuit: {
collapse_vars_short_circuited_conditions: {
options = {
+ booleans: true,
collapse_vars: true,
- sequences: false,
- dead_code: true,
- conditionals: false,
- comparisons: false,
- evaluate: true,
- booleans: true,
- loops: true,
- unused: true,
- hoist_funs: true,
- keep_fargs: true,
- if_return: false,
- join_vars: true,
- side_effects: true,
+ comparisons: false,
+ conditionals: false,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: false,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ sequences: false,
+ side_effects: true,
+ unused: true,
}
input: {
function c1(x) { var a = foo(), b = bar(), c = baz(); return a ? b : c; }
@@ -1286,21 +1605,21 @@ collapse_vars_short_circuited_conditions: {
collapse_vars_regexp: {
options = {
- booleans: true,
+ booleans: true,
collapse_vars: true,
- comparisons: true,
- conditionals: true,
- dead_code: true,
- evaluate: true,
- if_return: true,
- join_vars: true,
- hoist_funs: true,
- keep_fargs: true,
- loops: false,
- reduce_funcs: true,
- reduce_vars: true,
- side_effects: true,
- unused: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: false,
+ reduce_funcs: true,
+ reduce_vars: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -1692,9 +2011,21 @@ iife_2: {
var_defs: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
var f1 = function(x, y) {
@@ -2825,8 +3156,8 @@ issue_2364_5: {
options = {
collapse_vars: true,
evaluate: true,
- pure_getters: true,
properties: true,
+ pure_getters: true,
reduce_funcs: true,
reduce_vars: true,
unused: true,
@@ -3133,8 +3464,8 @@ issue_2437_1: {
passes: 2,
reduce_funcs: true,
reduce_vars: true,
- side_effects: true,
sequences: true,
+ side_effects: true,
toplevel: true,
unused: true,
}
@@ -3183,8 +3514,8 @@ issue_2437_2: {
passes: 2,
reduce_funcs: true,
reduce_vars: true,
- side_effects: true,
sequences: true,
+ side_effects: true,
toplevel: true,
unused: true,
}
@@ -3417,8 +3748,8 @@ issue_2436_6: {
pure_getters: "strict",
reduce_vars: true,
toplevel: true,
- unused: true,
unsafe: true,
+ unused: true,
}
input: {
var o = {
diff --git a/test/compress/concat-strings.js b/test/compress/concat-strings.js
index c7c07ca2..a9957d3d 100644
--- a/test/compress/concat-strings.js
+++ b/test/compress/concat-strings.js
@@ -1,7 +1,7 @@
concat_1: {
options = {
- evaluate: true
- };
+ evaluate: true,
+ }
input: {
var a = "foo" + "bar" + x() + "moo" + "foo" + y() + "x" + "y" + "z" + q();
var b = "foo" + 1 + x() + 2 + "boo";
@@ -26,7 +26,7 @@ concat_1: {
}
concat_2: {
- options = {};
+ options = {}
input: {
console.log(
1 + (2 + 3),
@@ -55,7 +55,7 @@ concat_2: {
}
concat_3: {
- options = {};
+ options = {}
input: {
console.log(
1 + 2 + (3 + 4 + 5),
@@ -84,7 +84,7 @@ concat_3: {
}
concat_4: {
- options = {};
+ options = {}
input: {
console.log(
1 + "2" + (3 + 4 + 5),
@@ -113,7 +113,7 @@ concat_4: {
}
concat_5: {
- options = {};
+ options = {}
input: {
console.log(
"1" + 2 + (3 + 4 + 5),
@@ -142,7 +142,7 @@ concat_5: {
}
concat_6: {
- options = {};
+ options = {}
input: {
console.log(
"1" + "2" + (3 + 4 + 5),
diff --git a/test/compress/conditionals.js b/test/compress/conditionals.js
index 03386d18..577e7871 100644
--- a/test/compress/conditionals.js
+++ b/test/compress/conditionals.js
@@ -1,7 +1,7 @@
ifs_1: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
if (foo) bar();
if (!foo); else bar();
@@ -18,8 +18,8 @@ ifs_1: {
ifs_2: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
if (foo) {
x();
@@ -47,12 +47,12 @@ ifs_2: {
ifs_3_should_warn: {
options = {
- conditionals : true,
- dead_code : true,
- evaluate : true,
- booleans : true,
- side_effects : true,
- };
+ booleans: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ side_effects: true,
+ }
input: {
var x, y;
if (x && !(x + "1") && y) { // 1
@@ -78,8 +78,8 @@ ifs_3_should_warn: {
ifs_4: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
if (foo && bar) {
x(foo)[10].bar.baz = something();
@@ -95,10 +95,10 @@ ifs_4: {
ifs_5: {
options = {
- if_return: true,
- conditionals: true,
comparisons: true,
- };
+ conditionals: true,
+ if_return: true,
+ }
input: {
function f() {
if (foo) return;
@@ -132,9 +132,9 @@ ifs_5: {
ifs_6: {
options = {
+ comparisons: true,
conditionals: true,
- comparisons: true
- };
+ }
input: {
var x, y;
if (!foo && !bar && !baz && !boo) {
@@ -163,8 +163,8 @@ ifs_6: {
cond_1: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
function foo(do_something, some_condition) {
if (some_condition) {
@@ -189,8 +189,8 @@ cond_1: {
cond_2: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
function foo(x, FooBar, some_condition) {
if (some_condition) {
@@ -209,8 +209,8 @@ cond_2: {
cond_3: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
var FooBar;
if (some_condition()) {
@@ -227,8 +227,8 @@ cond_3: {
cond_4: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
var do_something;
if (some_condition()) {
@@ -251,8 +251,8 @@ cond_4: {
cond_5: {
options = {
- conditionals: true
- };
+ conditionals: true,
+ }
input: {
if (some_condition()) {
if (some_other_condition()) {
@@ -279,9 +279,9 @@ cond_5: {
cond_7: {
options = {
conditionals: true,
- evaluate : true,
+ evaluate: true,
side_effects: true,
- };
+ }
input: {
var x, y, z, a, b;
// compress these
@@ -342,8 +342,8 @@ cond_7: {
cond_7_1: {
options = {
conditionals: true,
- evaluate : true
- };
+ evaluate: true,
+ }
input: {
var x;
// access to global should be assumed to have side effects
@@ -361,10 +361,10 @@ cond_7_1: {
cond_8: {
options = {
+ booleans: false,
conditionals: true,
- evaluate : true,
- booleans : false
- };
+ evaluate: true,
+ }
input: {
var a;
// compress these
@@ -445,10 +445,10 @@ cond_8: {
cond_8b: {
options = {
+ booleans: true,
conditionals: true,
- evaluate : true,
- booleans : true
- };
+ evaluate: true,
+ }
input: {
var a;
// compress these
@@ -528,10 +528,10 @@ cond_8b: {
cond_8c: {
options = {
+ booleans: false,
conditionals: true,
- evaluate : false,
- booleans : false
- };
+ evaluate: false,
+ }
input: {
var a;
// compress these
@@ -647,9 +647,21 @@ cond_9: {
ternary_boolean_consequent: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() { return a == b ? true : x; }
@@ -675,9 +687,21 @@ ternary_boolean_consequent: {
ternary_boolean_alternative: {
options = {
- collapse_vars:true, sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() { return a == b ? x : true; }
@@ -778,11 +802,11 @@ trivial_boolean_ternary_expressions : {
issue_1154: {
options = {
+ booleans: true,
conditionals: true,
- evaluate : true,
- booleans : true,
+ evaluate: true,
side_effects: true,
- };
+ }
input: {
function f1(x) { return x ? -1 : -1; }
function f2(x) { return x ? +2 : +2; }
@@ -818,7 +842,7 @@ issue_1154: {
no_evaluate: {
options = {
conditionals: true,
- evaluate : false,
+ evaluate: false,
side_effects: true,
}
input: {
diff --git a/test/compress/dead-code.js b/test/compress/dead-code.js
index 41f58427..1ce5355a 100644
--- a/test/compress/dead-code.js
+++ b/test/compress/dead-code.js
@@ -1,7 +1,7 @@
dead_code_1: {
options = {
- dead_code: true
- };
+ dead_code: true,
+ }
input: {
function f() {
a();
@@ -25,8 +25,8 @@ dead_code_1: {
dead_code_2_should_warn: {
options = {
- dead_code: true
- };
+ dead_code: true,
+ }
input: {
function f() {
g();
@@ -64,13 +64,13 @@ dead_code_2_should_warn: {
dead_code_constant_boolean_should_warn_more: {
options = {
- dead_code : true,
- loops : true,
- booleans : true,
- conditionals : true,
- evaluate : true,
- side_effects : true,
- };
+ booleans: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ loops: true,
+ side_effects: true,
+ }
input: {
while (!((foo && bar) || (x + "0"))) {
console.log("unreachable");
diff --git a/test/compress/debugger.js b/test/compress/debugger.js
index 7c270734..4dd47ecd 100644
--- a/test/compress/debugger.js
+++ b/test/compress/debugger.js
@@ -1,7 +1,7 @@
keep_debugger: {
options = {
- drop_debugger: false
- };
+ drop_debugger: false,
+ }
input: {
debugger;
}
@@ -12,8 +12,8 @@ keep_debugger: {
drop_debugger: {
options = {
- drop_debugger: true
- };
+ drop_debugger: true,
+ }
input: {
debugger;
if (foo) debugger;
diff --git a/test/compress/drop-console.js b/test/compress/drop-console.js
index 7df6d9dc..9a91edcb 100644
--- a/test/compress/drop-console.js
+++ b/test/compress/drop-console.js
@@ -1,5 +1,5 @@
drop_console_1: {
- options = {};
+ options = {}
input: {
console.log('foo');
console.log.apply(console, arguments);
@@ -11,7 +11,9 @@ drop_console_1: {
}
drop_console_2: {
- options = { drop_console: true };
+ options = {
+ drop_console: true,
+ }
input: {
console.log('foo');
console.log.apply(console, arguments);
diff --git a/test/compress/drop-unused.js b/test/compress/drop-unused.js
index e4daa4fc..9dc45e57 100644
--- a/test/compress/drop-unused.js
+++ b/test/compress/drop-unused.js
@@ -1,5 +1,8 @@
unused_funarg_1: {
- options = { unused: true, keep_fargs: false };
+ options = {
+ keep_fargs: false,
+ unused: true,
+ }
input: {
function f(a, b, c, d, e) {
return a + b;
@@ -13,7 +16,10 @@ unused_funarg_1: {
}
unused_funarg_2: {
- options = { unused: true, keep_fargs: false };
+ options = {
+ keep_fargs: false,
+ unused: true,
+ }
input: {
function f(a, b, c, d, e) {
return a + c;
@@ -27,7 +33,9 @@ unused_funarg_2: {
}
unused_nested_function: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function f(x, y) {
function g() {
@@ -44,7 +52,9 @@ unused_nested_function: {
}
unused_circular_references_1: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function f(x, y) {
// circular reference
@@ -65,7 +75,9 @@ unused_circular_references_1: {
}
unused_circular_references_2: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function f(x, y) {
var foo = 1, bar = baz, baz = foo + bar, qwe = moo();
@@ -81,7 +93,9 @@ unused_circular_references_2: {
}
unused_circular_references_3: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function f(x, y) {
var g = function() { return h() };
@@ -97,7 +111,9 @@ unused_circular_references_3: {
}
unused_keep_setter_arg: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
var x = {
_foo: null,
@@ -121,7 +137,9 @@ unused_keep_setter_arg: {
}
unused_var_in_catch: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function foo() {
try {
@@ -141,7 +159,9 @@ unused_var_in_catch: {
}
used_var_in_catch: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function foo() {
try {
@@ -165,7 +185,11 @@ used_var_in_catch: {
}
keep_fnames: {
- options = { unused: true, keep_fnames: true, unsafe: true };
+ options = {
+ keep_fnames: true,
+ unsafe: true,
+ unused: true,
+ }
input: {
function foo() {
return function bar(baz) {};
@@ -367,7 +391,7 @@ drop_toplevel_vars_fargs: {
drop_toplevel_all: {
options = {
toplevel: true,
- unused: true
+ unused: true,
}
input: {
var a, b = 1, c = g;
@@ -418,7 +442,11 @@ drop_toplevel_retain: {
drop_toplevel_retain_array: {
options = {
- top_retain: [ "f", "a", "o" ],
+ top_retain: [
+ "f",
+ "a",
+ "o"
+ ],
unused: true,
}
input: {
@@ -476,8 +504,8 @@ drop_toplevel_retain_regex: {
drop_toplevel_all_retain: {
options = {
- toplevel: true,
top_retain: "f,a,o",
+ toplevel: true,
unused: true,
}
input: {
@@ -506,8 +534,8 @@ drop_toplevel_all_retain: {
drop_toplevel_funcs_retain: {
options = {
- toplevel: "funcs",
top_retain: "f,a,o",
+ toplevel: "funcs",
unused: true,
}
input: {
@@ -537,8 +565,8 @@ drop_toplevel_funcs_retain: {
drop_toplevel_vars_retain: {
options = {
- toplevel: "vars",
top_retain: "f,a,o",
+ toplevel: "vars",
unused: true,
}
input: {
@@ -1377,9 +1405,9 @@ issue_2516_1: {
issue_2516_2: {
options = {
collapse_vars: true,
+ passes: 2,
reduce_funcs: true,
reduce_vars: true,
- passes: 2,
unused: true,
}
input: {
diff --git a/test/compress/evaluate.js b/test/compress/evaluate.js
index 9d35ffa3..999a1ca5 100644
--- a/test/compress/evaluate.js
+++ b/test/compress/evaluate.js
@@ -186,7 +186,9 @@ unary_prefix: {
}
negative_zero: {
- options = { evaluate: true }
+ options = {
+ evaluate: true,
+ }
input: {
console.log(
-"",
@@ -207,7 +209,9 @@ negative_zero: {
}
positive_zero: {
- options = { evaluate: true }
+ options = {
+ evaluate: true,
+ }
input: {
console.log(
+"",
@@ -229,8 +233,8 @@ positive_zero: {
unsafe_constant: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -421,8 +425,8 @@ prop_function: {
unsafe_integer_key: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -449,8 +453,8 @@ unsafe_integer_key: {
unsafe_integer_key_complex: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -477,8 +481,8 @@ unsafe_integer_key_complex: {
unsafe_float_key: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -505,8 +509,8 @@ unsafe_float_key: {
unsafe_float_key_complex: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -533,8 +537,8 @@ unsafe_float_key_complex: {
unsafe_array: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -569,8 +573,8 @@ unsafe_array: {
unsafe_string: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -597,8 +601,8 @@ unsafe_string: {
unsafe_array_bad_index: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -619,8 +623,8 @@ unsafe_array_bad_index: {
unsafe_string_bad_index: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -754,8 +758,8 @@ in_boolean_context: {
unsafe_charAt: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -782,8 +786,8 @@ unsafe_charAt: {
unsafe_charAt_bad_index: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -804,8 +808,8 @@ unsafe_charAt_bad_index: {
unsafe_charAt_noop: {
options = {
- evaluate : true,
- unsafe : true
+ evaluate: true,
+ unsafe: true,
}
input: {
console.log(
@@ -1195,7 +1199,7 @@ issue_2231_1: {
}
expect_stdout: true
expect_warnings: [
- "WARN: Error evaluating Object.keys(void 0) [test/compress/evaluate.js:1191,20]",
+ "WARN: Error evaluating Object.keys(void 0) [test/compress/evaluate.js:1195,20]",
]
}
@@ -1212,7 +1216,7 @@ issue_2231_2: {
}
expect_stdout: true
expect_warnings: [
- "WARN: Error evaluating Object.getOwnPropertyNames(null) [test/compress/evaluate.js:1208,20]",
+ "WARN: Error evaluating Object.getOwnPropertyNames(null) [test/compress/evaluate.js:1212,20]",
]
}
@@ -1350,14 +1354,14 @@ issue_2535_3: {
}
expect_stdout: true
expect_warnings: [
- "WARN: Dropping side-effect-free && [test/compress/evaluate.js:1336,20]",
- "WARN: Dropping side-effect-free && [test/compress/evaluate.js:1337,20]",
- "WARN: Dropping side-effect-free && [test/compress/evaluate.js:1338,20]",
- "WARN: Condition left of && always false [test/compress/evaluate.js:1338,20]",
- "WARN: Dropping side-effect-free || [test/compress/evaluate.js:1339,20]",
- "WARN: Dropping side-effect-free || [test/compress/evaluate.js:1340,20]",
- "WARN: Dropping side-effect-free || [test/compress/evaluate.js:1341,20]",
- "WARN: Condition left of || always true [test/compress/evaluate.js:1341,20]",
+ "WARN: Dropping side-effect-free && [test/compress/evaluate.js:1340,20]",
+ "WARN: Dropping side-effect-free && [test/compress/evaluate.js:1341,20]",
+ "WARN: Dropping side-effect-free && [test/compress/evaluate.js:1342,20]",
+ "WARN: Condition left of && always false [test/compress/evaluate.js:1342,20]",
+ "WARN: Dropping side-effect-free || [test/compress/evaluate.js:1343,20]",
+ "WARN: Dropping side-effect-free || [test/compress/evaluate.js:1344,20]",
+ "WARN: Dropping side-effect-free || [test/compress/evaluate.js:1345,20]",
+ "WARN: Condition left of || always true [test/compress/evaluate.js:1345,20]",
]
}
diff --git a/test/compress/functions.js b/test/compress/functions.js
index ec0b72a7..cff81e2d 100644
--- a/test/compress/functions.js
+++ b/test/compress/functions.js
@@ -9,20 +9,20 @@ non_ascii_function_identifier_name: {
iifes_returning_constants_keep_fargs_true: {
options = {
- keep_fargs : true,
- side_effects : true,
- evaluate : true,
- unused : true,
- dead_code : true,
- conditionals : true,
- comparisons : true,
- booleans : true,
- if_return : true,
- join_vars : true,
- reduce_funcs : true,
- reduce_vars : true,
- collapse_vars : true,
- inline : true,
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ inline: true,
+ join_vars: true,
+ keep_fargs: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ side_effects: true,
+ unused: true,
}
input: {
(function(){ return -1.23; }());
@@ -46,20 +46,20 @@ iifes_returning_constants_keep_fargs_true: {
iifes_returning_constants_keep_fargs_false: {
options = {
- keep_fargs : false,
- side_effects : true,
- evaluate : true,
- unused : true,
- dead_code : true,
- conditionals : true,
- comparisons : true,
- booleans : true,
- if_return : true,
- join_vars : true,
- reduce_funcs : true,
- reduce_vars : true,
- collapse_vars : true,
- inline : true,
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ inline: true,
+ join_vars: true,
+ keep_fargs: false,
+ reduce_funcs: true,
+ reduce_vars: true,
+ side_effects: true,
+ unused: true,
}
input: {
(function(){ return -1.23; }());
@@ -1175,8 +1175,8 @@ issue_2620_3: {
issue_2620_4: {
rename = true,
options = {
- evaluate: true,
dead_code: true,
+ evaluate: true,
inline: true,
passes: 2,
reduce_vars: true,
diff --git a/test/compress/global_defs.js b/test/compress/global_defs.js
index 7b72819f..ea8d6cec 100644
--- a/test/compress/global_defs.js
+++ b/test/compress/global_defs.js
@@ -2,7 +2,7 @@ must_replace: {
options = {
global_defs: {
D: "foo bar",
- }
+ },
}
input: {
console.log(D);
@@ -141,9 +141,9 @@ mixed: {
console.log(CONFIG);
}
expect_warnings: [
- 'WARN: global_defs CONFIG.VALUE redefined [test/compress/global_defs.js:127,22]',
- 'WARN: global_defs CONFIG.VALUE redefined [test/compress/global_defs.js:128,22]',
- 'WARN: global_defs CONFIG.VALUE redefined [test/compress/global_defs.js:130,8]',
+ "WARN: global_defs CONFIG.VALUE redefined [test/compress/global_defs.js:127,22]",
+ "WARN: global_defs CONFIG.VALUE redefined [test/compress/global_defs.js:128,22]",
+ "WARN: global_defs CONFIG.VALUE redefined [test/compress/global_defs.js:130,8]",
]
}
diff --git a/test/compress/hoist_props.js b/test/compress/hoist_props.js
index 46af9d72..6f309566 100644
--- a/test/compress/hoist_props.js
+++ b/test/compress/hoist_props.js
@@ -1,8 +1,8 @@
issue_2377_1: {
options = {
evaluate: true,
- inline: true,
hoist_props: true,
+ inline: true,
reduce_funcs: true,
reduce_vars: true,
toplevel: true,
@@ -33,8 +33,8 @@ issue_2377_1: {
issue_2377_2: {
options = {
evaluate: true,
- inline: true,
hoist_props: true,
+ inline: true,
passes: 2,
reduce_funcs: true,
reduce_vars: true,
@@ -64,8 +64,8 @@ issue_2377_2: {
issue_2377_3: {
options = {
evaluate: true,
- inline: true,
hoist_props: true,
+ inline: true,
passes: 4,
reduce_funcs: true,
reduce_vars: true,
@@ -416,7 +416,10 @@ issue_2473_1: {
options = {
hoist_props: false,
reduce_vars: true,
- top_retain: [ "x", "y" ],
+ top_retain: [
+ "x",
+ "y"
+ ],
toplevel: true,
unused: true,
}
@@ -435,7 +438,10 @@ issue_2473_2: {
options = {
hoist_props: true,
reduce_vars: true,
- top_retain: [ "x", "y" ],
+ top_retain: [
+ "x",
+ "y"
+ ],
toplevel: true,
unused: true,
}
@@ -746,9 +752,9 @@ issue_3046: {
issue_3071_1: {
options = {
evaluate: true,
+ hoist_props: true,
inline: true,
join_vars: true,
- hoist_props: true,
passes: 3,
reduce_vars: true,
sequences: true,
@@ -773,9 +779,9 @@ issue_3071_1: {
issue_3071_2: {
options = {
evaluate: true,
+ hoist_props: true,
inline: true,
join_vars: true,
- hoist_props: true,
passes: 3,
reduce_vars: true,
sequences: true,
@@ -800,9 +806,9 @@ issue_3071_2: {
issue_3071_2_toplevel: {
options = {
evaluate: true,
+ hoist_props: true,
inline: true,
join_vars: true,
- hoist_props: true,
passes: 3,
reduce_vars: true,
sequences: true,
diff --git a/test/compress/ie8.js b/test/compress/ie8.js
index c3012bfa..d5b61cbd 100644
--- a/test/compress/ie8.js
+++ b/test/compress/ie8.js
@@ -187,9 +187,9 @@ dont_screw_try_catch_undefined: {
reduce_vars: {
options = {
evaluate: true,
+ ie8: true,
reduce_funcs: true,
reduce_vars: true,
- ie8: true,
unused: true,
}
mangle = {
diff --git a/test/compress/if_return.js b/test/compress/if_return.js
index 9b18bf11..c56fa04d 100644
--- a/test/compress/if_return.js
+++ b/test/compress/if_return.js
@@ -1,14 +1,14 @@
if_return_1: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f(x) {
@@ -24,15 +24,15 @@ if_return_1: {
if_return_2: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f(x, y) {
@@ -49,15 +49,15 @@ if_return_2: {
if_return_3: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f(x) {
@@ -75,15 +75,15 @@ if_return_3: {
if_return_4: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f(x, y) {
@@ -100,15 +100,15 @@ if_return_4: {
if_return_5: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f() {
@@ -126,15 +126,15 @@ if_return_5: {
if_return_6: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f(x) {
@@ -150,15 +150,15 @@ if_return_6: {
if_return_7: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f(x) {
@@ -176,10 +176,10 @@ if_return_7: {
if_return_8: {
options = {
- if_return: true,
- sequences: true,
- conditionals: true,
- side_effects : true,
+ conditionals: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
}
input: {
function f(e) {
@@ -220,15 +220,15 @@ if_return_8: {
issue_1089: {
options = {
- if_return : true,
- sequences : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- unused : true,
- side_effects : true,
- dead_code : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ if_return: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function x() {
@@ -251,9 +251,9 @@ issue_1089: {
issue_1437: {
options = {
- if_return : true,
- sequences : true,
- conditionals : false
+ conditionals: false,
+ if_return: true,
+ sequences: true,
}
input: {
function x() {
@@ -281,9 +281,9 @@ issue_1437: {
issue_1437_conditionals: {
options = {
- conditionals : true,
- if_return : true,
- sequences : true
+ conditionals: true,
+ if_return: true,
+ sequences: true,
}
input: {
function x() {
diff --git a/test/compress/issue-1034.js b/test/compress/issue-1034.js
index 860a597f..8f3e0b1a 100644
--- a/test/compress/issue-1034.js
+++ b/test/compress/issue-1034.js
@@ -1,8 +1,17 @@
non_hoisted_function_after_return: {
options = {
- hoist_funs: false, dead_code: true, conditionals: true, comparisons: true,
- evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true,
- if_return: true, join_vars: true, side_effects: true
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: false,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ side_effects: true,
+ unused: true,
}
input: {
function foo(x) {
@@ -27,19 +36,30 @@ non_hoisted_function_after_return: {
}
}
expect_warnings: [
- 'WARN: Dropping unreachable code [test/compress/issue-1034.js:11,16]',
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:14,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:17,12]",
- "WARN: Dropping unused function UnusedFunction [test/compress/issue-1034.js:18,21]"
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:20,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:23,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:26,12]",
+ "WARN: Dropping unused function UnusedFunction [test/compress/issue-1034.js:27,21]"
]
}
non_hoisted_function_after_return_2a: {
options = {
- hoist_funs: false, dead_code: true, conditionals: true, comparisons: true,
- evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true,
- if_return: true, join_vars: true, side_effects: true,
- collapse_vars: false, passes: 2, warnings: "verbose"
+ booleans: true,
+ collapse_vars: false,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: false,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ passes: 2,
+ side_effects: true,
+ unused: true,
+ warnings: "verbose",
}
input: {
function foo(x) {
@@ -65,28 +85,37 @@ non_hoisted_function_after_return_2a: {
}
}
expect_warnings: [
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:48,16]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:48,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:51,16]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:51,16]",
- "WARN: Dropping unused variable a [test/compress/issue-1034.js:48,20]",
- "WARN: Dropping unused function nope [test/compress/issue-1034.js:55,21]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:68,16]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:68,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:71,16]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:71,16]",
+ "WARN: Dropping unused variable a [test/compress/issue-1034.js:68,20]",
+ "WARN: Dropping unused function nope [test/compress/issue-1034.js:75,21]",
"WARN: pass 0: last_count: Infinity, count: 37",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:53,12]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:53,12]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:56,12]",
- "WARN: Dropping unused variable b [test/compress/issue-1034.js:51,20]",
- "WARN: Dropping unused variable c [test/compress/issue-1034.js:53,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:73,12]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:73,12]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:76,12]",
+ "WARN: Dropping unused variable b [test/compress/issue-1034.js:71,20]",
+ "WARN: Dropping unused variable c [test/compress/issue-1034.js:73,16]",
"WARN: pass 1: last_count: 37, count: 18",
]
}
non_hoisted_function_after_return_2b: {
options = {
- hoist_funs: false, dead_code: true, conditionals: true, comparisons: true,
- evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true,
- if_return: true, join_vars: true, side_effects: true,
- collapse_vars: false
+ booleans: true,
+ collapse_vars: false,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: false,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ side_effects: true,
+ unused: true,
}
input: {
function foo(x) {
@@ -111,19 +140,28 @@ non_hoisted_function_after_return_2b: {
}
expect_warnings: [
// duplicate warnings no longer emitted
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:97,16]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:97,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:99,12]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:99,12]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:103,12]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:126,16]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:126,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:128,12]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:128,12]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:132,12]",
]
}
non_hoisted_function_after_return_strict: {
options = {
- hoist_funs: false, dead_code: true, conditionals: true, comparisons: true,
- evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true,
- if_return: true, join_vars: true, side_effects: true
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: false,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ side_effects: true,
+ unused: true,
}
input: {
"use strict";
@@ -153,19 +191,30 @@ non_hoisted_function_after_return_strict: {
}
expect_stdout: "8 7"
expect_warnings: [
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:133,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:136,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:139,12]",
- "WARN: Dropping unused function UnusedFunction [test/compress/issue-1034.js:140,21]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:171,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:174,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:177,12]",
+ "WARN: Dropping unused function UnusedFunction [test/compress/issue-1034.js:178,21]",
]
}
non_hoisted_function_after_return_2a_strict: {
options = {
- hoist_funs: false, dead_code: true, conditionals: true, comparisons: true,
- evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true,
- if_return: true, join_vars: true, side_effects: true,
- collapse_vars: false, passes: 2, warnings: "verbose"
+ booleans: true,
+ collapse_vars: false,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: false,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ passes: 2,
+ side_effects: true,
+ unused: true,
+ warnings: "verbose",
}
input: {
"use strict";
@@ -196,28 +245,37 @@ non_hoisted_function_after_return_2a_strict: {
}
expect_stdout: "5 6"
expect_warnings: [
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:175,16]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:175,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:178,16]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:178,16]",
- "WARN: Dropping unused variable a [test/compress/issue-1034.js:175,20]",
- "WARN: Dropping unused function nope [test/compress/issue-1034.js:182,21]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:224,16]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:224,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:227,16]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:227,16]",
+ "WARN: Dropping unused variable a [test/compress/issue-1034.js:224,20]",
+ "WARN: Dropping unused function nope [test/compress/issue-1034.js:231,21]",
"WARN: pass 0: last_count: Infinity, count: 48",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:180,12]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:180,12]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:183,12]",
- "WARN: Dropping unused variable b [test/compress/issue-1034.js:178,20]",
- "WARN: Dropping unused variable c [test/compress/issue-1034.js:180,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:229,12]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:229,12]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:232,12]",
+ "WARN: Dropping unused variable b [test/compress/issue-1034.js:227,20]",
+ "WARN: Dropping unused variable c [test/compress/issue-1034.js:229,16]",
"WARN: pass 1: last_count: 48, count: 29",
]
}
non_hoisted_function_after_return_2b_strict: {
options = {
- hoist_funs: false, dead_code: true, conditionals: true, comparisons: true,
- evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true,
- if_return: true, join_vars: true, side_effects: true,
- collapse_vars: false
+ booleans: true,
+ collapse_vars: false,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: false,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ side_effects: true,
+ unused: true,
}
input: {
"use strict";
@@ -247,10 +305,10 @@ non_hoisted_function_after_return_2b_strict: {
expect_stdout: "5 6"
expect_warnings: [
// duplicate warnings no longer emitted
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:229,16]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:229,16]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:231,12]",
- "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:231,12]",
- "WARN: Dropping unreachable code [test/compress/issue-1034.js:235,12]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:287,16]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:287,16]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:289,12]",
+ "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:289,12]",
+ "WARN: Dropping unreachable code [test/compress/issue-1034.js:293,12]",
]
}
diff --git a/test/compress/issue-1041.js b/test/compress/issue-1041.js
index b17bce8e..5c8be9e3 100644
--- a/test/compress/issue-1041.js
+++ b/test/compress/issue-1041.js
@@ -3,7 +3,7 @@ const_pragma: {
evaluate: true,
reduce_funcs: true,
reduce_vars: true,
- };
+ }
input: {
/** @const */ var goog = goog || {};
@@ -19,7 +19,7 @@ not_const: {
evaluate: true,
reduce_funcs: true,
reduce_vars: true,
- };
+ }
input: {
var goog = goog || {};
diff --git a/test/compress/issue-1105.js b/test/compress/issue-1105.js
index 151ca810..df6c7dca 100644
--- a/test/compress/issue-1105.js
+++ b/test/compress/issue-1105.js
@@ -1,6 +1,6 @@
with_in_global_scope: {
options = {
- unused: true
+ unused: true,
}
input: {
var o = 42;
@@ -18,7 +18,7 @@ with_in_global_scope: {
}
with_in_function_scope: {
options = {
- unused: true
+ unused: true,
}
input: {
function foo() {
@@ -40,7 +40,7 @@ with_in_function_scope: {
}
compress_with_with_in_other_scope: {
options = {
- unused: true
+ unused: true,
}
input: {
function foo() {
@@ -69,7 +69,7 @@ compress_with_with_in_other_scope: {
}
with_using_existing_variable_outside_scope: {
options = {
- unused: true
+ unused: true,
}
input: {
function f() {
@@ -99,7 +99,7 @@ with_using_existing_variable_outside_scope: {
}
check_drop_unused_in_peer_function: {
options = {
- unused: true
+ unused: true,
}
input: {
function outer() {
@@ -148,7 +148,7 @@ check_drop_unused_in_peer_function: {
Infinity_not_in_with_scope: {
options = {
- unused: true
+ unused: true,
}
input: {
var o = { Infinity: 'oInfinity' };
@@ -164,7 +164,7 @@ Infinity_not_in_with_scope: {
Infinity_in_with_scope: {
options = {
- unused: true
+ unused: true,
}
input: {
var o = { Infinity: 'oInfinity' };
@@ -180,19 +180,19 @@ Infinity_in_with_scope: {
assorted_Infinity_NaN_undefined_in_with_scope: {
options = {
- unused: true,
- evaluate: true,
- dead_code: true,
- conditionals: true,
- comparisons: true,
- booleans: true,
- hoist_funs: true,
- keep_fargs: true,
- if_return: true,
- join_vars: true,
- side_effects: true,
- sequences: false,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
keep_infinity: false,
+ sequences: false,
+ side_effects: true,
+ unused: true,
}
input: {
var f = console.log;
@@ -242,19 +242,19 @@ assorted_Infinity_NaN_undefined_in_with_scope: {
assorted_Infinity_NaN_undefined_in_with_scope_keep_infinity: {
options = {
- unused: true,
- evaluate: true,
- dead_code: true,
- conditionals: true,
- comparisons: true,
- booleans: true,
- hoist_funs: true,
- keep_fargs: true,
- if_return: true,
- join_vars: true,
- side_effects: true,
- sequences: false,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
keep_infinity: true,
+ sequences: false,
+ side_effects: true,
+ unused: true,
}
input: {
var f = console.log;
diff --git a/test/compress/issue-12.js b/test/compress/issue-12.js
index e2d8bda7..34f48cba 100644
--- a/test/compress/issue-12.js
+++ b/test/compress/issue-12.js
@@ -1,11 +1,15 @@
keep_name_of_getter: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: { a = { get foo () {} } }
expect: { a = { get foo () {} } }
}
keep_name_of_setter: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: { a = { set foo () {} } }
expect: { a = { set foo () {} } }
}
diff --git a/test/compress/issue-1202.js b/test/compress/issue-1202.js
index 27bc4248..1a34a3f1 100644
--- a/test/compress/issue-1202.js
+++ b/test/compress/issue-1202.js
@@ -1,7 +1,7 @@
mangle_keep_fnames_false: {
options = {
- keep_fnames : true,
- keep_fargs : true,
+ keep_fargs: true,
+ keep_fnames: true,
}
mangle = {
keep_fnames : false,
@@ -26,8 +26,8 @@ mangle_keep_fnames_false: {
mangle_keep_fnames_true: {
options = {
- keep_fnames : true,
- keep_fargs : true,
+ keep_fargs: true,
+ keep_fnames: true,
}
mangle = {
keep_fnames : true,
diff --git a/test/compress/issue-1261.js b/test/compress/issue-1261.js
index 888fde40..e40111c4 100644
--- a/test/compress/issue-1261.js
+++ b/test/compress/issue-1261.js
@@ -1,14 +1,14 @@
pure_function_calls: {
options = {
- evaluate : true,
- conditionals : true,
- comparisons : true,
- side_effects : true,
- booleans : true,
- unused : true,
- if_return : true,
- join_vars : true,
- negate_iife : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ evaluate: true,
+ if_return: true,
+ join_vars: true,
+ negate_iife: true,
+ side_effects: true,
+ unused: true,
}
input: {
// pure top-level IIFE will be dropped
@@ -60,16 +60,16 @@ pure_function_calls: {
pure_function_calls_toplevel: {
options = {
- evaluate : true,
- conditionals : true,
- comparisons : true,
- side_effects : true,
- booleans : true,
- unused : true,
- if_return : true,
- join_vars : true,
- negate_iife : true,
- toplevel : true,
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ evaluate: true,
+ if_return: true,
+ join_vars: true,
+ negate_iife: true,
+ side_effects: true,
+ toplevel: true,
+ unused: true,
}
input: {
// pure top-level IIFE will be dropped
diff --git a/test/compress/issue-1275.js b/test/compress/issue-1275.js
index 2553c74f..683e336d 100644
--- a/test/compress/issue-1275.js
+++ b/test/compress/issue-1275.js
@@ -1,16 +1,16 @@
string_plus_optimization: {
options = {
- side_effects : true,
- evaluate : true,
- conditionals : true,
- comparisons : true,
- dead_code : true,
- booleans : true,
- unused : true,
- if_return : true,
- join_vars : true,
- hoist_funs : true,
- };
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ side_effects: true,
+ unused: true,
+ }
input: {
function foo(anything) {
function throwing_function() {
diff --git a/test/compress/issue-143.js b/test/compress/issue-143.js
index 4c79790b..453a9929 100644
--- a/test/compress/issue-143.js
+++ b/test/compress/issue-143.js
@@ -15,7 +15,7 @@
tranformation_sort_order_equal: {
options = {
comparisons: true,
- };
+ }
input: { (a = parseInt('100')) == a }
expect: { (a = parseInt('100')) == a }
@@ -24,7 +24,7 @@ tranformation_sort_order_equal: {
tranformation_sort_order_unequal: {
options = {
comparisons: true,
- };
+ }
input: { (a = parseInt('100')) != a }
expect: { (a = parseInt('100')) != a }
@@ -33,7 +33,7 @@ tranformation_sort_order_unequal: {
tranformation_sort_order_lesser_or_equal: {
options = {
comparisons: true,
- };
+ }
input: { (a = parseInt('100')) <= a }
expect: { (a = parseInt('100')) <= a }
@@ -41,7 +41,7 @@ tranformation_sort_order_lesser_or_equal: {
tranformation_sort_order_greater_or_equal: {
options = {
comparisons: true,
- };
+ }
input: { (a = parseInt('100')) >= a }
expect: { (a = parseInt('100')) >= a }
diff --git a/test/compress/issue-1431.js b/test/compress/issue-1431.js
index 9493fd37..2bd681e6 100644
--- a/test/compress/issue-1431.js
+++ b/test/compress/issue-1431.js
@@ -1,6 +1,6 @@
level_zero: {
options = {
- keep_fnames: true
+ keep_fnames: true,
}
mangle = {
keep_fnames: true
@@ -29,7 +29,7 @@ level_zero: {
level_one: {
options = {
- keep_fnames: true
+ keep_fnames: true,
}
mangle = {
keep_fnames: true
@@ -58,7 +58,7 @@ level_one: {
level_two: {
options = {
- keep_fnames: true
+ keep_fnames: true,
}
mangle = {
keep_fnames: true
@@ -97,7 +97,7 @@ level_two: {
level_three: {
options = {
- keep_fnames: true
+ keep_fnames: true,
}
mangle = {
keep_fnames: true
diff --git a/test/compress/issue-1447.js b/test/compress/issue-1447.js
index 0a765685..3c881058 100644
--- a/test/compress/issue-1447.js
+++ b/test/compress/issue-1447.js
@@ -22,17 +22,17 @@ else_with_empty_statement: {
conditional_false_stray_else_in_loop: {
options = {
- evaluate : true,
- comparisons : true,
- booleans : true,
- unused : true,
- loops : true,
- side_effects : true,
- dead_code : true,
- hoist_vars : true,
- join_vars : true,
- if_return : true,
- conditionals : false,
+ booleans: true,
+ comparisons: true,
+ conditionals: false,
+ dead_code: true,
+ evaluate: true,
+ hoist_vars: true,
+ if_return: true,
+ join_vars: true,
+ loops: true,
+ side_effects: true,
+ unused: true,
}
input: {
for (var i = 1; i <= 4; ++i) {
diff --git a/test/compress/issue-1833.js b/test/compress/issue-1833.js
index e3c385e8..41777ddb 100644
--- a/test/compress/issue-1833.js
+++ b/test/compress/issue-1833.js
@@ -125,8 +125,8 @@ label_do: {
label_while: {
options = {
- evaluate: true,
dead_code: true,
+ evaluate: true,
loops: true,
}
input: {
diff --git a/test/compress/issue-208.js b/test/compress/issue-208.js
index faaf4139..aed3bcc4 100644
--- a/test/compress/issue-208.js
+++ b/test/compress/issue-208.js
@@ -1,6 +1,8 @@
do_not_update_lhs: {
options = {
- global_defs: { DEBUG: 0 }
+ global_defs: {
+ DEBUG: 0,
+ },
}
input: {
DEBUG++;
@@ -16,7 +18,9 @@ do_not_update_lhs: {
do_update_rhs: {
options = {
- global_defs: { DEBUG: 0 }
+ global_defs: {
+ DEBUG: 0,
+ },
}
input: {
MY_DEBUG = DEBUG;
@@ -35,7 +39,7 @@ mixed: {
DEBUG: 0,
ENV: 1,
FOO: 2,
- }
+ },
}
input: {
var ENV = 3;
@@ -60,11 +64,11 @@ mixed: {
x = 0;
}
expect_warnings: [
- 'WARN: global_defs ENV redefined [test/compress/issue-208.js:41,12]',
- 'WARN: global_defs FOO redefined [test/compress/issue-208.js:42,12]',
- 'WARN: global_defs FOO redefined [test/compress/issue-208.js:44,10]',
- 'WARN: global_defs DEBUG redefined [test/compress/issue-208.js:45,8]',
- 'WARN: global_defs DEBUG redefined [test/compress/issue-208.js:46,8]',
- 'WARN: global_defs DEBUG redefined [test/compress/issue-208.js:47,8]',
+ "WARN: global_defs ENV redefined [test/compress/issue-208.js:45,12]",
+ "WARN: global_defs FOO redefined [test/compress/issue-208.js:46,12]",
+ "WARN: global_defs FOO redefined [test/compress/issue-208.js:48,10]",
+ "WARN: global_defs DEBUG redefined [test/compress/issue-208.js:49,8]",
+ "WARN: global_defs DEBUG redefined [test/compress/issue-208.js:50,8]",
+ "WARN: global_defs DEBUG redefined [test/compress/issue-208.js:51,8]",
]
}
diff --git a/test/compress/issue-22.js b/test/compress/issue-22.js
index a8b7bc60..1cbc7602 100644
--- a/test/compress/issue-22.js
+++ b/test/compress/issue-22.js
@@ -1,5 +1,7 @@
return_with_no_value_in_if_body: {
- options = { conditionals: true };
+ options = {
+ conditionals: true,
+ }
input: {
function foo(bar) {
if (bar) {
diff --git a/test/compress/issue-267.js b/test/compress/issue-267.js
index 7233d9f1..4f478d25 100644
--- a/test/compress/issue-267.js
+++ b/test/compress/issue-267.js
@@ -1,5 +1,7 @@
issue_267: {
- options = { comparisons: true };
+ options = {
+ comparisons: true,
+ }
input: {
x = a % b / b * c * 2;
x = a % b * 2
diff --git a/test/compress/issue-269.js b/test/compress/issue-269.js
index a29e7541..3145b3b3 100644
--- a/test/compress/issue-269.js
+++ b/test/compress/issue-269.js
@@ -1,5 +1,7 @@
issue_269_1: {
- options = {unsafe: true};
+ options = {
+ unsafe: true,
+ }
input: {
f(
String(x),
@@ -20,7 +22,9 @@ issue_269_1: {
}
issue_269_dangers: {
- options = {unsafe: true};
+ options = {
+ unsafe: true,
+ }
input: {
f(
String(x, x),
@@ -34,7 +38,9 @@ issue_269_dangers: {
}
issue_269_in_scope: {
- options = {unsafe: true};
+ options = {
+ unsafe: true,
+ }
input: {
var String, Number, Boolean;
f(
@@ -50,7 +56,9 @@ issue_269_in_scope: {
}
strings_concat: {
- options = {unsafe: true};
+ options = {
+ unsafe: true,
+ }
input: {
f(
String(x + 'str'),
@@ -67,9 +75,9 @@ strings_concat: {
regexp: {
options = {
- evaluate: true,
- unsafe: true,
- }
+ evaluate: true,
+ unsafe: true,
+ }
input: {
RegExp("foo");
RegExp("bar", "ig");
@@ -85,6 +93,6 @@ regexp: {
RegExp("should", "fail");
}
expect_warnings: [
- 'WARN: Error converting RegExp("should","fail") [test/compress/issue-269.js:78,2]',
+ 'WARN: Error converting RegExp("should","fail") [test/compress/issue-269.js:86,2]',
]
}
diff --git a/test/compress/issue-281.js b/test/compress/issue-281.js
index 2f034c08..1c339bcd 100644
--- a/test/compress/issue-281.js
+++ b/test/compress/issue-281.js
@@ -186,7 +186,7 @@ negate_iife_5_off: {
inline: true,
negate_iife: false,
sequences: true,
- };
+ }
input: {
if ((function(){ return t })()) {
foo(true);
@@ -245,7 +245,7 @@ negate_iife_issue_1073: {
reduce_vars: true,
sequences: true,
unused: true,
- };
+ }
input: {
new (function(a) {
return function Foo() {
@@ -273,7 +273,7 @@ issue_1288_side_effects: {
reduce_vars: true,
side_effects: true,
unused: true,
- };
+ }
input: {
if (w) ;
else {
diff --git a/test/compress/issue-44.js b/test/compress/issue-44.js
index 7a972f9e..958e525e 100644
--- a/test/compress/issue-44.js
+++ b/test/compress/issue-44.js
@@ -1,5 +1,7 @@
issue_44_valid_ast_1: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function a(b) {
for (var i = 0, e = b.qoo(); ; i++) {}
@@ -14,7 +16,9 @@ issue_44_valid_ast_1: {
}
issue_44_valid_ast_2: {
- options = { unused: true };
+ options = {
+ unused: true,
+ }
input: {
function a(b) {
if (foo) for (var i = 0, e = b.qoo(); ; i++) {}
diff --git a/test/compress/issue-59.js b/test/compress/issue-59.js
index 82b38806..4e2411fd 100644
--- a/test/compress/issue-59.js
+++ b/test/compress/issue-59.js
@@ -1,8 +1,8 @@
keep_continue: {
options = {
dead_code: true,
- evaluate: true
- };
+ evaluate: true,
+ }
input: {
while (a) {
if (b) {
diff --git a/test/compress/issue-597.js b/test/compress/issue-597.js
index 143fcc22..c988e9c1 100644
--- a/test/compress/issue-597.js
+++ b/test/compress/issue-597.js
@@ -1,5 +1,5 @@
NaN_and_Infinity_must_have_parens: {
- options = {};
+ options = {}
input: {
Infinity.toString();
NaN.toString();
@@ -11,7 +11,7 @@ NaN_and_Infinity_must_have_parens: {
}
NaN_and_Infinity_should_not_be_replaced_when_they_are_redefined: {
- options = {};
+ options = {}
input: {
var Infinity, NaN;
Infinity.toString();
diff --git a/test/compress/issue-611.js b/test/compress/issue-611.js
index 6f2c65d2..f1f2bf9c 100644
--- a/test/compress/issue-611.js
+++ b/test/compress/issue-611.js
@@ -1,8 +1,8 @@
issue_611: {
options = {
- sequences: true,
- side_effects: true
- };
+ sequences: true,
+ side_effects: true,
+ }
input: {
define(function() {
function fn() {}
diff --git a/test/compress/issue-637.js b/test/compress/issue-637.js
index ed42cb8e..64978bb0 100644
--- a/test/compress/issue-637.js
+++ b/test/compress/issue-637.js
@@ -1,9 +1,9 @@
wrongly_optimized: {
options = {
- conditionals: true,
booleans: true,
- evaluate: true
- };
+ conditionals: true,
+ evaluate: true,
+ }
input: {
function func() {
foo();
diff --git a/test/compress/issue-640.js b/test/compress/issue-640.js
index 784092c8..88b63abd 100644
--- a/test/compress/issue-640.js
+++ b/test/compress/issue-640.js
@@ -28,12 +28,12 @@ cond_5: {
dead_code_const_annotation_regex: {
options = {
- booleans : true,
- conditionals : true,
- dead_code : true,
- evaluate : true,
- expression : true,
- loops : true,
+ booleans: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ expression: true,
+ loops: true,
}
input: {
var unused;
@@ -82,8 +82,8 @@ drop_value: {
wrongly_optimized: {
options = {
- conditionals: true,
booleans: true,
+ conditionals: true,
evaluate: true,
expression: true,
}
@@ -195,7 +195,7 @@ negate_iife_5_off: {
expression: true,
negate_iife: false,
sequences: true,
- };
+ }
input: {
if ((function(){ return t })()) {
foo(true);
@@ -248,7 +248,9 @@ issue_1254_negate_iife_nested: {
conditional: {
options = {
expression: true,
- pure_funcs: [ "pure" ],
+ pure_funcs: [
+ "pure"
+ ],
side_effects: true,
}
input: {
diff --git a/test/compress/issue-751.js b/test/compress/issue-751.js
index 829b7ca5..234eee35 100644
--- a/test/compress/issue-751.js
+++ b/test/compress/issue-751.js
@@ -1,7 +1,7 @@
negate_booleans_1: {
options = {
- comparisons: true
- };
+ comparisons: true,
+ }
input: {
var a = !a || !b || !c || !d || !e || !f;
}
@@ -12,8 +12,8 @@ negate_booleans_1: {
negate_booleans_2: {
options = {
- comparisons: true
- };
+ comparisons: true,
+ }
input: {
var match = !x && // should not touch this one
(!z || c) &&
diff --git a/test/compress/issue-892.js b/test/compress/issue-892.js
index 81df1cab..93b42d70 100644
--- a/test/compress/issue-892.js
+++ b/test/compress/issue-892.js
@@ -2,25 +2,25 @@ dont_mangle_arguments: {
mangle = {
};
options = {
- sequences : true,
- properties : true,
- dead_code : true,
- drop_debugger : true,
- conditionals : true,
- comparisons : true,
- evaluate : true,
- booleans : true,
- loops : true,
- unused : true,
- hoist_funs : true,
- keep_fargs : true,
- keep_fnames : false,
- hoist_vars : true,
- if_return : true,
- join_vars : true,
- side_effects : true,
- negate_iife : false
- };
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ drop_debugger: true,
+ evaluate: true,
+ hoist_funs: true,
+ hoist_vars: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ keep_fnames: false,
+ loops: true,
+ negate_iife: false,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
+ }
input: {
(function(){
var arguments = arguments, not_arguments = 9;
diff --git a/test/compress/issue-913.js b/test/compress/issue-913.js
index 9d34d9d9..57fd5637 100644
--- a/test/compress/issue-913.js
+++ b/test/compress/issue-913.js
@@ -1,8 +1,8 @@
keep_var_for_in: {
options = {
hoist_vars: true,
- unused: true
- };
+ unused: true,
+ }
input: {
(function(obj){
var foo = 5;
diff --git a/test/compress/issue-973.js b/test/compress/issue-973.js
index 3eb25fac..e127c10c 100644
--- a/test/compress/issue-973.js
+++ b/test/compress/issue-973.js
@@ -72,7 +72,7 @@ this_binding_collapse_vars: {
this_binding_side_effects: {
options = {
- side_effects : true
+ side_effects: true,
}
input: {
(function(foo) {
diff --git a/test/compress/issue-976.js b/test/compress/issue-976.js
index 54d7dad5..edee2595 100644
--- a/test/compress/issue-976.js
+++ b/test/compress/issue-976.js
@@ -1,9 +1,21 @@
eval_collapse_vars: {
options = {
- collapse_vars:true, sequences:false, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
- };
+ booleans: true,
+ collapse_vars: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: false,
+ side_effects: true,
+ unused: true,
+ }
input: {
function f1() {
var e = 7;
@@ -46,7 +58,10 @@ eval_collapse_vars: {
}
eval_unused: {
- options = { unused: true, keep_fargs: false };
+ options = {
+ keep_fargs: false,
+ unused: true,
+ }
input: {
function f1(a, eval, c, d, e) {
return a('c') + eval;
diff --git a/test/compress/issue-979.js b/test/compress/issue-979.js
index b2500126..8f017602 100644
--- a/test/compress/issue-979.js
+++ b/test/compress/issue-979.js
@@ -1,8 +1,19 @@
issue979_reported: {
options = {
- sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f1() {
@@ -30,9 +41,20 @@ issue979_reported: {
issue979_test_negated_is_best: {
options = {
- sequences:true, properties:true, dead_code:true, conditionals:true,
- comparisons:true, evaluate:true, booleans:true, loops:true, unused:true, hoist_funs:true,
- keep_fargs:true, if_return:true, join_vars:true, side_effects:true
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ evaluate: true,
+ hoist_funs: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ loops: true,
+ properties: true,
+ sequences: true,
+ side_effects: true,
+ unused: true,
}
input: {
function f3() {
diff --git a/test/compress/labels.js b/test/compress/labels.js
index 0d85d10a..00232834 100644
--- a/test/compress/labels.js
+++ b/test/compress/labels.js
@@ -1,5 +1,9 @@
labels_1: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
out: {
if (foo) break out;
@@ -13,7 +17,11 @@ labels_1: {
}
labels_2: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
out: {
if (foo) print("stuff");
@@ -30,7 +38,11 @@ labels_2: {
}
labels_3: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
for (var i = 0; i < 5; ++i) {
if (i < 3) continue;
@@ -45,7 +57,11 @@ labels_3: {
}
labels_4: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
out: for (var i = 0; i < 5; ++i) {
if (i < 3) continue out;
@@ -60,7 +76,11 @@ labels_4: {
}
labels_5: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
// should keep the break-s in the following
input: {
while (foo) {
@@ -92,7 +112,11 @@ labels_6: {
}
labels_7: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
while (foo) {
x();
@@ -109,7 +133,11 @@ labels_7: {
}
labels_8: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
while (foo) {
x();
@@ -127,7 +155,11 @@ labels_8: {
}
labels_9: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
out: while (foo) {
x();
@@ -146,7 +178,11 @@ labels_9: {
}
labels_10: {
- options = { if_return: true, conditionals: true, dead_code: true };
+ options = {
+ conditionals: true,
+ dead_code: true,
+ if_return: true,
+ }
input: {
out: while (foo) {
x();
diff --git a/test/compress/loops.js b/test/compress/loops.js
index 2dd29256..3fa78338 100644
--- a/test/compress/loops.js
+++ b/test/compress/loops.js
@@ -1,5 +1,7 @@
while_becomes_for: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
while (foo()) bar();
}
@@ -9,7 +11,9 @@ while_becomes_for: {
}
drop_if_break_1: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
for (;;)
if (foo()) break;
@@ -20,7 +24,9 @@ drop_if_break_1: {
}
drop_if_break_2: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
for (;bar();)
if (foo()) break;
@@ -31,7 +37,9 @@ drop_if_break_2: {
}
drop_if_break_3: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
for (;bar();) {
if (foo()) break;
@@ -48,7 +56,10 @@ drop_if_break_3: {
}
drop_if_break_4: {
- options = { loops: true, sequences: true };
+ options = {
+ loops: true,
+ sequences: true,
+ }
input: {
for (;bar();) {
x();
@@ -64,7 +75,9 @@ drop_if_break_4: {
}
drop_if_else_break_1: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
for (;;) if (foo()) bar(); else break;
}
@@ -74,7 +87,9 @@ drop_if_else_break_1: {
}
drop_if_else_break_2: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
for (;bar();) {
if (foo()) baz();
@@ -87,7 +102,9 @@ drop_if_else_break_2: {
}
drop_if_else_break_3: {
- options = { loops: true };
+ options = {
+ loops: true,
+ }
input: {
for (;bar();) {
if (foo()) baz();
@@ -106,7 +123,10 @@ drop_if_else_break_3: {
}
drop_if_else_break_4: {
- options = { loops: true, sequences: true };
+ options = {
+ loops: true,
+ sequences: true,
+ }
input: {
for (;bar();) {
x();
@@ -123,7 +143,9 @@ drop_if_else_break_4: {
}
parse_do_while_with_semicolon: {
- options = { loops: false };
+ options = {
+ loops: false,
+ }
input: {
do {
x();
@@ -135,7 +157,9 @@ parse_do_while_with_semicolon: {
}
parse_do_while_without_semicolon: {
- options = { loops: false };
+ options = {
+ loops: false,
+ }
input: {
do {
x();
@@ -153,7 +177,7 @@ evaluate: {
loops: true,
passes: 2,
side_effects: true,
- };
+ }
input: {
while (true) {
a();
@@ -457,7 +481,7 @@ init_side_effects: {
options = {
loops: true,
side_effects: true,
- };
+ }
input: {
for (function() {}(), i = 0; i < 5; i++) console.log(i);
for (function() {}(); i < 10; i++) console.log(i);
diff --git a/test/compress/negate-iife.js b/test/compress/negate-iife.js
index 17148cad..620c098a 100644
--- a/test/compress/negate-iife.js
+++ b/test/compress/negate-iife.js
@@ -1,7 +1,7 @@
negate_iife_1: {
options = {
- negate_iife: true
- };
+ negate_iife: true,
+ }
input: {
(function(){ stuff() })();
}
@@ -13,7 +13,7 @@ negate_iife_1: {
negate_iife_1_off: {
options = {
negate_iife: false,
- };
+ }
input: {
(function(){ stuff() })();
}
@@ -24,7 +24,7 @@ negate_iife_2: {
options = {
inline: true,
negate_iife: true,
- };
+ }
input: {
(function(){ return {} })().x = 10;
}
@@ -45,9 +45,9 @@ negate_iife_2_side_effects: {
negate_iife_3: {
options = {
+ conditionals: true,
negate_iife: true,
- conditionals: true
- };
+ }
input: {
(function(){ return t })() ? console.log(true) : console.log(false);
}
@@ -88,9 +88,9 @@ negate_iife_3_side_effects: {
negate_iife_3_off: {
options = {
- negate_iife: false,
conditionals: true,
- };
+ negate_iife: false,
+ }
input: {
(function(){ return t })() ? console.log(true) : console.log(false);
}
@@ -117,10 +117,10 @@ negate_iife_3_off_evaluate: {
negate_iife_4: {
options = {
- negate_iife: true,
conditionals: true,
- sequences: true
- };
+ negate_iife: true,
+ sequences: true,
+ }
input: {
(function(){ return t })() ? console.log(true) : console.log(false);
(function(){
@@ -136,11 +136,11 @@ negate_iife_4: {
sequence_off: {
options = {
- negate_iife: false,
conditionals: true,
- sequences: true,
+ negate_iife: false,
passes: 2,
- };
+ sequences: true,
+ }
input: {
function f() {
(function(){ return t })() ? console.log(true) : console.log(false);
@@ -171,10 +171,10 @@ sequence_off: {
negate_iife_5: {
options = {
+ conditionals: true,
negate_iife: true,
sequences: true,
- conditionals: true,
- };
+ }
input: {
if ((function(){ return t })()) {
foo(true);
@@ -194,10 +194,10 @@ negate_iife_5: {
negate_iife_5_off: {
options = {
+ conditionals: true,
negate_iife: false,
sequences: true,
- conditionals: true,
- };
+ }
input: {
if ((function(){ return t })()) {
foo(true);
@@ -217,10 +217,10 @@ negate_iife_5_off: {
negate_iife_nested: {
options = {
+ conditionals: true,
negate_iife: true,
sequences: true,
- conditionals: true,
- };
+ }
input: {
function Foo(f) {
this.f = f;
@@ -250,10 +250,10 @@ negate_iife_nested: {
negate_iife_nested_off: {
options = {
+ conditionals: true,
negate_iife: false,
sequences: true,
- conditionals: true,
- };
+ }
input: {
function Foo(f) {
this.f = f;
@@ -283,10 +283,10 @@ negate_iife_nested_off: {
negate_iife_issue_1073: {
options = {
+ conditionals: true,
negate_iife: true,
sequences: true,
- conditionals: true,
- };
+ }
input: {
new (function(a) {
return function Foo() {
@@ -356,7 +356,7 @@ issue_1288: {
conditionals: true,
negate_iife: true,
side_effects: false,
- };
+ }
input: {
if (w) ;
else {
diff --git a/test/compress/new.js b/test/compress/new.js
index 640f201a..a823bb9c 100644
--- a/test/compress/new.js
+++ b/test/compress/new.js
@@ -36,7 +36,9 @@ new_statements_3: {
}
new_with_rewritten_true_value: {
- options = { booleans: true }
+ options = {
+ booleans: true,
+ }
input: {
new true;
}
diff --git a/test/compress/pure_getters.js b/test/compress/pure_getters.js
index f9edcc8d..61ce8a92 100644
--- a/test/compress/pure_getters.js
+++ b/test/compress/pure_getters.js
@@ -187,10 +187,10 @@ issue_2110_1: {
options = {
collapse_vars: true,
pure_getters: "strict",
- sequences: true,
- side_effects: true,
reduce_funcs: true,
reduce_vars: true,
+ sequences: true,
+ side_effects: true,
unused: true,
}
input: {
diff --git a/test/compress/reduce_vars.js b/test/compress/reduce_vars.js
index 67721639..c11d20c2 100644
--- a/test/compress/reduce_vars.js
+++ b/test/compress/reduce_vars.js
@@ -1,15 +1,15 @@
reduce_vars: {
options = {
- conditionals : true,
- evaluate : true,
- inline : true,
- global_defs : {
- C : 0
+ conditionals: true,
+ evaluate: true,
+ global_defs: {
+ C: 0,
},
- reduce_funcs : true,
- reduce_vars : true,
- toplevel : true,
- unused : true
+ inline: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ toplevel: true,
+ unused: true,
}
input: {
var A = 1;
@@ -63,11 +63,11 @@ reduce_vars: {
modified: {
options = {
- conditionals : true,
- evaluate : true,
- reduce_funcs : true,
- reduce_vars : true,
- unused : true,
+ conditionals: true,
+ evaluate: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ unused: true,
}
input: {
function f0() {
@@ -184,12 +184,12 @@ modified: {
unsafe_evaluate: {
options = {
- evaluate : true,
- reduce_funcs : true,
- reduce_vars : true,
- side_effects : true,
- unsafe : true,
- unused : true
+ evaluate: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ side_effects: true,
+ unsafe: true,
+ unused: true,
}
input: {
function f0(){
@@ -344,10 +344,10 @@ unsafe_evaluate_unknown: {
unsafe_evaluate_object_1: {
options = {
- evaluate : true,
- reduce_funcs : true,
- reduce_vars : true,
- unsafe : true
+ evaluate: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ unsafe: true,
}
input: {
function f0(){
@@ -463,10 +463,10 @@ unsafe_evaluate_object_3: {
unsafe_evaluate_array_1: {
options = {
- evaluate : true,
- reduce_funcs : true,
- reduce_vars : true,
- unsafe : true
+ evaluate: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ unsafe: true,
}
input: {
function f0(){
@@ -642,11 +642,11 @@ unsafe_evaluate_array_5: {
unsafe_evaluate_equality_1: {
options = {
- evaluate : true,
- reduce_funcs : true,
- reduce_vars : true,
- unsafe : true,
- unused : true
+ evaluate: true,
+ reduce_funcs: true,
+ reduce_vars: true,
+ unsafe: true,
+ unused: true,
}
input: {
function f0() {
@@ -674,12 +674,12 @@ unsafe_evaluate_equality_1: {
unsafe_evaluate_equality_2: {
options = {
collapse_vars: true,
- evaluate : true,
- passes : 2,
- reduce_funcs : true,
- reduce_vars : true,
- unsafe : true,
- unused : true
+ evaluate: true,
+ passes: 2,
+ reduce_funcs: true,
+ reduce_vars: true,
+ unsafe: true,
+ unused: true,
}
input: {
function f2() {
@@ -1130,7 +1130,7 @@ toplevel_on: {
evaluate: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:true,
+ toplevel: true,
unused: true,
}
input: {
@@ -1148,7 +1148,7 @@ toplevel_off: {
evaluate: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:false,
+ toplevel: false,
unused: true,
}
input: {
@@ -1168,7 +1168,7 @@ toplevel_on_loops_1: {
loops: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:true,
+ toplevel: true,
unused: true,
}
input: {
@@ -1196,7 +1196,7 @@ toplevel_off_loops_1: {
loops: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:false,
+ toplevel: false,
unused: true,
}
input: {
@@ -1225,7 +1225,7 @@ toplevel_on_loops_2: {
reduce_funcs: true,
reduce_vars: true,
side_effects: true,
- toplevel:true,
+ toplevel: true,
unused: true,
}
input: {
@@ -1251,7 +1251,7 @@ toplevel_off_loops_2: {
loops: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:false,
+ toplevel: false,
unused: true,
}
input: {
@@ -1278,7 +1278,7 @@ toplevel_on_loops_3: {
loops: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:true,
+ toplevel: true,
unused: true,
}
input: {
@@ -1296,7 +1296,7 @@ toplevel_off_loops_3: {
loops: true,
reduce_funcs: true,
reduce_vars: true,
- toplevel:false,
+ toplevel: false,
unused: true,
}
input: {
@@ -1560,6 +1560,32 @@ func_modified: {
expect_stdout: "7"
}
+unused_modified: {
+ options = {
+ reduce_vars: true,
+ unused: true,
+ }
+ input: {
+ console.log(function() {
+ var b = 1, c = "FAIL";
+ if (0 || b--)
+ c = "PASS";
+ b = 1;
+ return c;
+ }());
+ }
+ expect: {
+ console.log(function() {
+ var b = 1, c = "FAIL";
+ if (0 || b--)
+ c = "PASS";
+ b = 1;
+ return c;
+ }());
+ }
+ expect_stdout: "PASS"
+}
+
defun_label: {
options = {
passes: 2,
@@ -1868,8 +1894,8 @@ issue_1670_1: {
options = {
comparisons: true,
conditionals: true,
- evaluate: true,
dead_code: true,
+ evaluate: true,
reduce_funcs: true,
reduce_vars: true,
side_effects: true,
@@ -1901,8 +1927,8 @@ issue_1670_1: {
issue_1670_2: {
options = {
conditionals: true,
- evaluate: true,
dead_code: true,
+ evaluate: true,
passes: 2,
reduce_funcs: true,
reduce_vars: true,
@@ -1934,8 +1960,8 @@ issue_1670_3: {
options = {
comparisons: true,
conditionals: true,
- evaluate: true,
dead_code: true,
+ evaluate: true,
reduce_funcs: true,
reduce_vars: true,
side_effects: true,
@@ -1967,8 +1993,8 @@ issue_1670_3: {
issue_1670_4: {
options = {
conditionals: true,
- evaluate: true,
dead_code: true,
+ evaluate: true,
passes: 2,
reduce_funcs: true,
reduce_vars: true,
diff --git a/test/compress/return_undefined.js b/test/compress/return_undefined.js
index c7e09067..0f21a2f7 100644
--- a/test/compress/return_undefined.js
+++ b/test/compress/return_undefined.js
@@ -1,24 +1,24 @@
return_undefined: {
options = {
- sequences : false,
- if_return : true,
- evaluate : true,
- dead_code : true,
- conditionals : true,
- comparisons : true,
- booleans : true,
- unused : true,
- side_effects : true,
- properties : true,
- drop_debugger : true,
- loops : true,
- hoist_funs : true,
- keep_fargs : true,
- keep_fnames : false,
- hoist_vars : true,
- join_vars : true,
- negate_iife : true
- };
+ booleans: true,
+ comparisons: true,
+ conditionals: true,
+ dead_code: true,
+ drop_debugger: true,
+ evaluate: true,
+ hoist_funs: true,
+ hoist_vars: true,
+ if_return: true,
+ join_vars: true,
+ keep_fargs: true,
+ keep_fnames: false,
+ loops: true,
+ negate_iife: true,
+ properties: true,
+ sequences: false,
+ side_effects: true,
+ unused: true,
+ }
input: {
function f0() {
}
diff --git a/test/compress/sequences.js b/test/compress/sequences.js
index 8aede12b..79b176e3 100644
--- a/test/compress/sequences.js
+++ b/test/compress/sequences.js
@@ -1,7 +1,7 @@
make_sequences_1: {
options = {
- sequences: true
- };
+ sequences: true,
+ }
input: {
foo();
bar();
@@ -14,8 +14,8 @@ make_sequences_1: {
make_sequences_2: {
options = {
- sequences: true
- };
+ sequences: true,
+ }
input: {
if (boo) {
foo();
@@ -35,8 +35,8 @@ make_sequences_2: {
make_sequences_3: {
options = {
- sequences: true
- };
+ sequences: true,
+ }
input: {
function f() {
foo();
@@ -61,8 +61,8 @@ make_sequences_3: {
make_sequences_4: {
options = {
- sequences: true
- };
+ sequences: true,
+ }
input: {
x = 5;
if (y) z();
@@ -90,7 +90,9 @@ make_sequences_4: {
}
lift_sequences_1: {
- options = { sequences: true };
+ options = {
+ sequences: true,
+ }
input: {
var foo, x, y, bar;
foo = !(x(), y(), bar());
@@ -102,7 +104,10 @@ lift_sequences_1: {
}
lift_sequences_2: {
- options = { sequences: true, evaluate: true };
+ options = {
+ evaluate: true,
+ sequences: true,
+ }
input: {
var foo = 1, bar;
foo.x = (foo = {}, 10);
@@ -119,7 +124,10 @@ lift_sequences_2: {
}
lift_sequences_3: {
- options = { sequences: true, conditionals: true };
+ options = {
+ conditionals: true,
+ sequences: true,
+ }
input: {
var x, foo, bar, baz;
x = (foo(), bar(), baz()) ? 10 : 20;
@@ -131,7 +139,9 @@ lift_sequences_3: {
}
lift_sequences_4: {
- options = { side_effects: true };
+ options = {
+ side_effects: true,
+ }
input: {
var x, foo, bar, baz;
x = (foo, bar, baz);
@@ -160,7 +170,9 @@ lift_sequences_5: {
}
for_sequences: {
- options = { sequences: true };
+ options = {
+ sequences: true,
+ }
input: {
// 1
foo();
@@ -203,7 +215,7 @@ for_sequences: {
limit_1: {
options = {
sequences: 3,
- };
+ }
input: {
a;
b;
@@ -228,7 +240,7 @@ limit_1: {
limit_2: {
options = {
sequences: 3,
- };
+ }
input: {
a, b;
c, d;
@@ -246,9 +258,9 @@ limit_2: {
negate_iife_for: {
options = {
- sequences: true,
negate_iife: true,
- };
+ sequences: true,
+ }
input: {
(function() {})();
for (i = 0; i < 5; i++) console.log(i);
@@ -265,7 +277,7 @@ negate_iife_for: {
iife: {
options = {
sequences: true,
- };
+ }
input: {
x = 42;
(function a() {})();
diff --git a/test/compress/switch.js b/test/compress/switch.js
index fbb86eda..547843fa 100644
--- a/test/compress/switch.js
+++ b/test/compress/switch.js
@@ -820,8 +820,8 @@ issue_1758: {
issue_2535: {
options = {
- evaluate: true,
dead_code: true,
+ evaluate: true,
switches: true,
}
input: {
diff --git a/test/compress/typeof.js b/test/compress/typeof.js
index dacfb735..80123834 100644
--- a/test/compress/typeof.js
+++ b/test/compress/typeof.js
@@ -2,7 +2,7 @@ typeof_evaluation: {
options = {
evaluate: true,
typeofs: true,
- };
+ }
input: {
a = typeof 1;
b = typeof 'test';
@@ -27,11 +27,11 @@ typeof_evaluation: {
typeof_in_boolean_context: {
options = {
- booleans : true,
- evaluate : true,
- conditionals : true,
- side_effects : true,
- };
+ booleans: true,
+ conditionals: true,
+ evaluate: true,
+ side_effects: true,
+ }
input: {
function f1(x) { return typeof x ? "yes" : "no"; }
function f2() { return typeof g()? "Yes" : "No"; }
diff --git a/test/compress/unicode.js b/test/compress/unicode.js
index c4bd5de8..3ef664c2 100644
--- a/test/compress/unicode.js
+++ b/test/compress/unicode.js
@@ -1,5 +1,5 @@
unicode_parse_variables: {
- options = {};
+ options = {}
input: {
var a = {};
a.你好 = 456;