blob: 20285f614d1cef76d69138e868c8d97713c74b76 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2015 the V8 project authors. All rights reserved.
Emily Bernierd0a1eb72015-03-24 16:35:39 -04002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5
6function test(expectation, f) {
7 var stack;
8 try {
9 f();
10 } catch (e) {
11 stack = e.stack;
12 }
Emily Bernierd0a1eb72015-03-24 16:35:39 -040013 assertTrue(stack.indexOf("at eval (evaltest:" + expectation + ")") > 0);
14}
15
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000016/*
17(function() {
181 + reference_error //@ sourceURL=evaltest
19})
20*/
21test("2:5", new Function(
Emily Bernierd0a1eb72015-03-24 16:35:39 -040022 '1 + reference_error //@ sourceURL=evaltest'));
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000023/*
24(function(x
25/\**\/) {
26
27 1 + reference_error //@ sourceURL=evaltest
28})
29*/
30test("4:6", new Function(
Emily Bernierd0a1eb72015-03-24 16:35:39 -040031 'x', '\n 1 + reference_error //@ sourceURL=evaltest'));
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000032/*
33(function(x
34
35,z//
36,y
37/\**\/) {
38
39 1 + reference_error //@ sourceURL=evaltest
40})
41*/
42test("7:6", new Function(
Emily Bernierd0a1eb72015-03-24 16:35:39 -040043 'x\n\n', "z//\n", "y", '\n 1 + reference_error //@ sourceURL=evaltest'));
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000044/*
45(function(x/\*,z//
46,y*\/
47/\**\/) {
481 + reference_error //@ sourceURL=evaltest
49})
50*/
51test("4:5", new Function(
Emily Bernierd0a1eb72015-03-24 16:35:39 -040052 'x/*', "z//\n", "y*/", '1 + reference_error //@ sourceURL=evaltest'));
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000053/*
54(function () {
55 1 + reference_error //@ sourceURL=evaltest5
56})
57*/
Emily Bernierd0a1eb72015-03-24 16:35:39 -040058test("2:6", eval(
59 '(function () {\n 1 + reference_error //@ sourceURL=evaltest\n})'));