Chromium Code Reviews| 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)); |
| +})(); |