aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2017-12-24 12:38:45 +0800
committerGitHub <noreply@github.com>2017-12-24 12:38:45 +0800
commitefffb817357898f3a05d24fdddbf3280e33bf880 (patch)
treedda34208d6ed4a27646562c22ed7d4c3c3c921e6 /test
parent202f90ef8f2b282fbd5c063a7e5a34f79551099e (diff)
downloadtracifyjs-efffb817357898f3a05d24fdddbf3280e33bf880.tar.gz
tracifyjs-efffb817357898f3a05d24fdddbf3280e33bf880.zip
fix comments output & improve `/*@__PURE__*/`
- fix whitespace around comments - fix comment parsing around parentheses - consider parentheses when parsing `/*@__PURE__*/` - remove all `/*@__PURE__*/` on output fixes #2638
Diffstat (limited to 'test')
-rw-r--r--test/compress/pure_funcs.js73
-rw-r--r--test/mocha/minify.js4
2 files changed, 58 insertions, 19 deletions
diff --git a/test/compress/pure_funcs.js b/test/compress/pure_funcs.js
index 6f3bbb21..d15bcca3 100644
--- a/test/compress/pure_funcs.js
+++ b/test/compress/pure_funcs.js
@@ -298,19 +298,27 @@ issue_2629_1: {
options = {
side_effects: true,
}
+ beautify = {
+ comments: "all",
+ }
input: {
/*@__PURE__*/ a();
/*@__PURE__*/ (b());
(/*@__PURE__*/ c)();
(/*@__PURE__*/ d());
}
- expect: {}
+ expect_exact: [
+ "/* */c();",
+ ]
}
issue_2629_2: {
options = {
side_effects: true,
}
+ beautify = {
+ comments: "all",
+ }
input: {
/*@__PURE__*/ a(1)(2)(3);
/*@__PURE__*/ (b(1))(2)(3);
@@ -321,30 +329,44 @@ issue_2629_2: {
(/*@__PURE__*/ g(1)(2))(3);
(/*@__PURE__*/ h(1)(2)(3));
}
- expect: {}
+ expect_exact: [
+ "/* */e(1)(2)(3);",
+ "/* */f(1)(2)(3);",
+ "/* */g(1)(2)(3);",
+ ]
}
issue_2629_3: {
options = {
side_effects: true,
}
+ beautify = {
+ comments: "all",
+ }
input: {
/*@__PURE__*/ a.x(1).y(2).z(3);
- /*@__PURE__*/ (a.x)(1).y(2).z(3);
- /*@__PURE__*/ (a.x(1)).y(2).z(3);
- /*@__PURE__*/ (a.x(1).y)(2).z(3);
- /*@__PURE__*/ (a.x(1).y(2)).z(3);
- /*@__PURE__*/ (a.x(1).y(2).z)(3);
- /*@__PURE__*/ (a.x(1).y(2).z(3));
- (/*@__PURE__*/ a).x(1).y(2).z(3);
- (/*@__PURE__*/ a.x)(1).y(2).z(3);
- (/*@__PURE__*/ a.x(1)).y(2).z(3);
- (/*@__PURE__*/ a.x(1).y)(2).z(3);
- (/*@__PURE__*/ a.x(1).y(2)).z(3);
- (/*@__PURE__*/ a.x(1).y(2).z)(3);
- (/*@__PURE__*/ a.x(1).y(2).z(3));
- }
- expect: {}
+ /*@__PURE__*/ (b.x)(1).y(2).z(3);
+ /*@__PURE__*/ (c.x(1)).y(2).z(3);
+ /*@__PURE__*/ (d.x(1).y)(2).z(3);
+ /*@__PURE__*/ (e.x(1).y(2)).z(3);
+ /*@__PURE__*/ (f.x(1).y(2).z)(3);
+ /*@__PURE__*/ (g.x(1).y(2).z(3));
+ (/*@__PURE__*/ h).x(1).y(2).z(3);
+ (/*@__PURE__*/ i.x)(1).y(2).z(3);
+ (/*@__PURE__*/ j.x(1)).y(2).z(3);
+ (/*@__PURE__*/ k.x(1).y)(2).z(3);
+ (/*@__PURE__*/ l.x(1).y(2)).z(3);
+ (/*@__PURE__*/ m.x(1).y(2).z)(3);
+ (/*@__PURE__*/ n.x(1).y(2).z(3));
+ }
+ expect_exact: [
+ "/* */h.x(1).y(2).z(3);",
+ "/* */i.x(1).y(2).z(3);",
+ "/* */j.x(1).y(2).z(3);",
+ "/* */k.x(1).y(2).z(3);",
+ "/* */l.x(1).y(2).z(3);",
+ "/* */m.x(1).y(2).z(3);",
+ ]
}
issue_2629_4: {
@@ -375,3 +397,20 @@ issue_2629_5: {
w(), y();
}
}
+
+issue_2638: {
+ options = {
+ side_effects: true,
+ }
+ beautify = {
+ comments: "all",
+ }
+ input: {
+ /*@__PURE__*/(g() || h())(x(), y());
+ (/*@__PURE__*/ (a() || b()))(c(), d());
+ }
+ expect_exact: [
+ "/* */x(),y();",
+ "/* */(a()||b())(c(),d());",
+ ]
+}
diff --git a/test/mocha/minify.js b/test/mocha/minify.js
index 5d9512f3..5fa9254b 100644
--- a/test/mocha/minify.js
+++ b/test/mocha/minify.js
@@ -247,7 +247,7 @@ describe("minify", function() {
var code = result.code;
assert.strictEqual(code, "// comment1 comment2\nbar();");
});
- it("should not drop #__PURE__ hint if function is retained", function() {
+ it("should drop #__PURE__ hint if function is retained", function() {
var result = Uglify.minify("var a = /*#__PURE__*/(function(){ foo(); })();", {
output: {
comments: "all",
@@ -255,7 +255,7 @@ describe("minify", function() {
}
});
var code = result.code;
- assert.strictEqual(code, "var a=/*#__PURE__*/function(){foo()}();");
+ assert.strictEqual(code, "var a=/* */function(){foo()}();");
})
});