From 56154cdbdb8c80f970a3ea955a222a1e59968c0f Mon Sep 17 00:00:00 2001 From: Vignesh Shanmugam Date: Thu, 16 Feb 2017 22:27:23 +0100 Subject: [PATCH] add some tests and use indexOf --- .../__snapshots__/minify-builtins.js.snap | 8 +++++--- .../__tests__/minify-builtins.js | 3 ++- .../babel-plugin-minify-builtins/src/index.js | 4 ++-- .../__snapshots__/options-tests.js.snap | 20 +++++++++---------- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/packages/babel-plugin-minify-builtins/__tests__/__snapshots__/minify-builtins.js.snap b/packages/babel-plugin-minify-builtins/__tests__/__snapshots__/minify-builtins.js.snap index 3f2643d0f..8a69fb0ed 100644 --- a/packages/babel-plugin-minify-builtins/__tests__/__snapshots__/minify-builtins.js.snap +++ b/packages/babel-plugin-minify-builtins/__tests__/__snapshots__/minify-builtins.js.snap @@ -67,10 +67,12 @@ function a() { } `; -exports[`minify-builtins should not evaluate if its has side effecty arguments 1`] = ` +exports[`minify-builtins should not evaluate if its side effecty 1`] = ` Object { - "_source": "Math.max(foo(), 1);", - "expected": "Math.max(foo(), 1);", + "_source": "Math.max(foo(), 1); +Math.random();", + "expected": "Math.max(foo(), 1); +Math.random();", } `; diff --git a/packages/babel-plugin-minify-builtins/__tests__/minify-builtins.js b/packages/babel-plugin-minify-builtins/__tests__/minify-builtins.js index 6aabb079b..d18fcd4e1 100644 --- a/packages/babel-plugin-minify-builtins/__tests__/minify-builtins.js +++ b/packages/babel-plugin-minify-builtins/__tests__/minify-builtins.js @@ -68,9 +68,10 @@ describe("minify-builtins", () => { expect({_source: source, expected: transform(source)}).toMatchSnapshot(); }); - it("should not evaluate if its has side effecty arguments", () => { + it("should not evaluate if its side effecty", () => { const source = unpad(` Math.max(foo(), 1); + Math.random(); `); expect({_source: source, expected: transform(source)}).toMatchSnapshot(); }); diff --git a/packages/babel-plugin-minify-builtins/src/index.js b/packages/babel-plugin-minify-builtins/src/index.js index 970869d10..4f0921400 100644 --- a/packages/babel-plugin-minify-builtins/src/index.js +++ b/packages/babel-plugin-minify-builtins/src/index.js @@ -112,8 +112,8 @@ module.exports = function({ types: t }) { const { object, property } = memberExpr.node; if (t.isIdentifier(object) && t.isIdentifier(property) - && VALID_CALLEES.includes(object.name) - && !INVALID_METHODS.includes(property.name)) { + && VALID_CALLEES.indexOf(object.name) >= 0 + && INVALID_METHODS.indexOf(property.name) < 0) { return true; } return false; diff --git a/packages/babel-preset-babili/__tests__/__snapshots__/options-tests.js.snap b/packages/babel-preset-babili/__tests__/__snapshots__/options-tests.js.snap index 32c04cc7e..7f58a6ae9 100644 --- a/packages/babel-preset-babili/__tests__/__snapshots__/options-tests.js.snap +++ b/packages/babel-preset-babili/__tests__/__snapshots__/options-tests.js.snap @@ -11,6 +11,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -18,7 +19,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -42,6 +42,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -49,7 +50,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -85,6 +85,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -92,7 +93,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -138,6 +138,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -145,7 +146,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -191,6 +191,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -198,7 +199,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -220,6 +220,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -227,7 +228,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -263,6 +263,7 @@ Object { "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -270,7 +271,6 @@ Object { "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ], } @@ -289,6 +289,7 @@ Array [ "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -296,7 +297,6 @@ Array [ "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ] `; @@ -314,6 +314,7 @@ Array [ "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -321,7 +322,6 @@ Array [ "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ] `; @@ -339,6 +339,7 @@ Array [ "babel-plugin-minify-numeric-literals", "babel-plugin-minify-replace", "babel-plugin-minify-simplify", + "babel-plugin-minify-builtins", "babel-plugin-transform-inline-consecutive-adds", "babel-plugin-transform-member-expression-literals", "babel-plugin-transform-property-literals", @@ -346,7 +347,6 @@ Array [ "babel-plugin-transform-minify-booleans", "babel-plugin-transform-undefined-to-void", "babel-plugin-transform-regexp-constructors", - "babel-plugin-minify-builtins", "babel-plugin-transform-remove-undefined", ] `;