improve truthy compression (#3009)

This commit is contained in:
Alex Lam S.L
2018-03-16 06:12:59 +08:00
committed by GitHub
parent b29d435bb5
commit 20ca0f5906
7 changed files with 127 additions and 49 deletions

View File

@@ -745,7 +745,7 @@ in_boolean_context: {
!b("foo"),
!b([1, 2]),
!b(/foo/),
![1, foo()],
(foo(), !1),
(foo(), !1)
);
}
@@ -1566,3 +1566,43 @@ issue_2968: {
}
expect_stdout: "PASS"
}
truthy_conditionals: {
options = {
conditionals: true,
evaluate: true,
}
input: {
if (a = {}) x();
(b = /foo/) && y();
(c = function() {}) || z();
}
expect: {
a = {}, x();
b = /foo/, y();
c = function() {};
}
}
truthy_loops: {
options = {
evaluate: true,
loops: true,
}
input: {
while ([]) x();
do {
y();
} while(a = {});
}
expect: {
for (;;) {
[];
x();
}
for (;;) {
y();
a = {};
}
}
}