Index: test/mjsunit/strong/destructuring.js |
diff --git a/test/mjsunit/strong/destructuring.js b/test/mjsunit/strong/destructuring.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f6fcff6657d82e767a6e855696bae1caaaa66e4a |
--- /dev/null |
+++ b/test/mjsunit/strong/destructuring.js |
@@ -0,0 +1,21 @@ |
+// Copyright 2015 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+// |
+// Flags: --harmony-destructuring --harmony-computed-property-names |
+// Flags: --harmony-arrow-functions --strong-mode --allow-natives-syntax |
+ |
+(function() { |
+ function f({ x = function() { return []; } }) { "use strong"; return x(); } |
+ var a = f({ x: undefined }); |
caitp (gmail)
2015/07/15 20:35:44
this move kind of makes destructuring initializers
rossberg
2015/07/16 12:53:47
Not sure I understand. What's not good?
Btw, lang
caitp (gmail)
2015/07/16 13:03:57
It's okay for the VM, but having to fill out each
rossberg
2015/07/16 13:21:05
Ah, I see. Yes, that shouldn't throw in strong mod
|
+ assertTrue(%IsStrong(a)); |
+ |
+ function weakf({ x = function() { return []; } }) { return x(); } |
+ a = weakf({}); |
+ assertFalse(%IsStrong(a)); |
+ |
+ function outerf() { return []; } |
+ function f2({ x = outerf }) { "use strong"; return x(); } |
+ a = f2({ x: undefined }); |
+ assertFalse(%IsStrong(a)); |
+})(); |