17 lines
727 B
JavaScript
17 lines
727 B
JavaScript
|
// 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-bind
|
||
|
|
||
|
assertThrows(`for(const { method() {} } = this) {}`, SyntaxError);
|
||
|
assertThrows(`var { method() {} } = this;`, SyntaxError);
|
||
|
assertThrows(`for(const { *method() {} } = this) {}`, SyntaxError);
|
||
|
assertThrows(`var { *method() {} } = this;`, SyntaxError);
|
||
|
assertThrows(`for(var { get foo() {} } = this) {}`, SyntaxError);
|
||
|
assertThrows(`for(var { set foo() {} } = this) {}`, SyntaxError);
|
||
|
|
||
|
// Still OK in other objects
|
||
|
for (var { name = "" + { toString() { return "test" } } } in { a: 1}) break;
|
||
|
assertEquals(name, "test");
|