aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/compress/sandbox.js25
-rw-r--r--test/sandbox.js4
2 files changed, 27 insertions, 2 deletions
diff --git a/test/compress/sandbox.js b/test/compress/sandbox.js
index 338afd11..9cf76725 100644
--- a/test/compress/sandbox.js
+++ b/test/compress/sandbox.js
@@ -98,6 +98,31 @@ log_global: {
expect_stdout: "[object global]"
}
+log_nested: {
+ options = {
+ unused: true,
+ }
+ input: {
+ var o = { p: 42 };
+ for (var i = 0; i < 10; i++)
+ o = {
+ p: o,
+ q: function foo() {},
+ };
+ console.log(o);
+ }
+ expect: {
+ var o = { p: 42 };
+ for (var i = 0; i < 10; i++)
+ o = {
+ p: o,
+ q: function() {},
+ };
+ console.log(o);
+ }
+ expect_stdout: true
+}
+
timers: {
options = {
reduce_vars: true,
diff --git a/test/sandbox.js b/test/sandbox.js
index 8f5d04da..d8d2da0d 100644
--- a/test/sandbox.js
+++ b/test/sandbox.js
@@ -126,7 +126,7 @@ function setup(global, builtins, setup_log, setup_tty) {
if (arguments.length == 1 && typeof msg == "string") return log("%s", msg);
return log.apply(null, [].map.call(arguments, function(arg) {
return safe_log(arg, {
- level: 3,
+ level: 5,
original: [],
replaced: [],
});
@@ -189,7 +189,7 @@ function setup(global, builtins, setup_log, setup_tty) {
arg.constructor.toString();
var index = cache.original.indexOf(arg);
if (index >= 0) return cache.replaced[index];
- if (--cache.level < 0) break;
+ if (--cache.level < 0) return "[object Object]";
var value = {};
cache.original.push(arg);
cache.replaced.push(value);