| Index: test/mjsunit/es6/debug-evaluate-arrow-function-receiver.js
|
| diff --git a/test/mjsunit/es6/debug-evaluate-arrow-function-receiver.js b/test/mjsunit/es6/debug-evaluate-arrow-function-receiver.js
|
| deleted file mode 100644
|
| index ce7201df9ce74c6d6ca146eb9431623cddfc1cf9..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/es6/debug-evaluate-arrow-function-receiver.js
|
| +++ /dev/null
|
| @@ -1,116 +0,0 @@
|
| -// 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: --expose-debug-as debug
|
| -
|
| -// Test that debug-evaluate can find the correct this value for an arrow
|
| -// function, if "this" is referenced within the arrow function scope.
|
| -
|
| -Debug = debug.Debug
|
| -
|
| -var break_count = 0;
|
| -var exception = null;
|
| -
|
| -function listener(event, exec_state, event_data, data) {
|
| - if (event != Debug.DebugEvent.Break) return;
|
| - try {
|
| - for (var i = 0; i < exec_state.frameCount() - 1; i++) {
|
| - var frame = exec_state.frame(i);
|
| - var this_value = frame.evaluate("this").value();
|
| - var expected = frame.sourceLineText().match(/\/\/ (.*$)/)[1];
|
| - print(expected, this_value, frame.sourceLineText());
|
| - assertEquals(String(expected), String(this_value));
|
| - }
|
| - break_count++;
|
| - } catch (e) {
|
| - exception = e;
|
| - print(e + e.stack);
|
| - }
|
| -}
|
| -
|
| -// Context-allocated receiver.
|
| -function f() {
|
| - debugger; // foo
|
| - return () => {
|
| - debugger; // foo
|
| - with ({}) {
|
| - return () => {
|
| - debugger; // foo
|
| - try {
|
| - throw new Error();
|
| - } catch (e) {
|
| - return () => {
|
| - (() => this); // bind this.
|
| - debugger; // foo
|
| - return () => {
|
| - debugger; // undefined
|
| - return g.call("goo"); // undefined
|
| - }
|
| - };
|
| - }
|
| - };
|
| - }
|
| - };
|
| -}
|
| -
|
| -// Stack-allocated receiver.
|
| -function g() {
|
| - debugger; // goo
|
| - return () => {
|
| - debugger; // undefined
|
| - with ({}) {
|
| - return () => {
|
| - debugger; // undefined
|
| - try {
|
| - throw new Error();
|
| - } catch (e) {
|
| - return () => {
|
| - debugger; // undefined
|
| - return f.call("foo"); // undefined
|
| - };
|
| - }
|
| - };
|
| - }
|
| - };
|
| -}
|
| -
|
| -Debug.setListener(listener);
|
| -
|
| -var h = f.call("foo");
|
| -for (var i = 0; i < 20; i++) h = h();
|
| -var h = g.call("goo");
|
| -for (var i = 0; i < 20; i++) h = h();
|
| -
|
| -function x() {
|
| - (() => this); // bind this.
|
| - function y() {
|
| - (() => {
|
| - (() => this); // bind this.
|
| - debugger; // Y
|
| - })(); // Y
|
| - }
|
| - y.call("Y"); // X
|
| -}
|
| -x.call("X");
|
| -
|
| -function u() {
|
| - (() => this);
|
| - function v() {
|
| - (() => {
|
| - debugger; // undefined
|
| - })(); // V
|
| - }
|
| - v.call("V"); // U
|
| -}
|
| -u.call("U");
|
| -
|
| -(() => {
|
| - (() => this);
|
| - debugger; // [object global]
|
| -})();
|
| -
|
| -Debug.setListener(null);
|
| -
|
| -assertEquals(55, break_count);
|
| -assertNull(exception);
|
|
|