v8/test/mjsunit/modules-init3.js
neis cadfe092a2 [modules] Fix bugs in assignments to exported variables.
- Add hole check if needed.
- Preserve the accumulator so that the result is the rhs.

R=adamk@chromium.org
BUG=v8:1569,v8:5547

Review-Url: https://chromiumcodereview.appspot.com/2438653003
Cr-Commit-Position: refs/heads/master@{#40510}
2016-10-21 14:24:31 +00:00

26 lines
674 B
JavaScript

// Copyright 2016 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.
//
// MODULE
import {check} from "modules-skip-init3.js";
assertSame(undefined, w);
assertThrows(() => x, ReferenceError);
assertThrows(() => y, ReferenceError);
assertThrows(() => z, ReferenceError);
assertEquals(23, w = 23);
assertThrows(() => x = 666, ReferenceError);
assertThrows(() => y = 666, ReferenceError);
assertThrows(() => z = 666, TypeError);
export function* v() { return 40 }
export var w = 41;
export let x = 42;
export class y {};
export const z = "hello world";
assertTrue(check());