aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/inspector/console/let-const-with-api.js
blob: 0280fe11747a2049cc4160428df7107a331b0c4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 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.

Protocol.Runtime.evaluate({ expression: "let a = 42;" }).then(step2);

function step2(response)
{
  failIfError(response);
  InspectorTest.log("first \"let a = 1;\" result: wasThrown = " + !!response.result.exceptionDetails);
  Protocol.Runtime.evaluate({ expression: "let a = 239;" }).then(step3);
}

function step3(response)
{
  failIfError(response);
  InspectorTest.log("second \"let a = 1;\" result: wasThrown = " + !!response.result.exceptionDetails);
  if (response.result.exceptionDetails)
    InspectorTest.log("exception message: " + response.result.exceptionDetails.text + " " + response.result.exceptionDetails.exception.description);
  Protocol.Runtime.evaluate({ expression: "a" }).then(step4);
}

function step4(response)
{
  failIfError(response);
  InspectorTest.log(JSON.stringify(response.result));
  checkMethod(null);
}

var methods = [ "dir", "dirxml", "keys", "values", "profile", "profileEnd",
    "inspect", "copy", "clear",
    "debug", "undebug", "monitor", "unmonitor", "table" ];

function checkMethod(response)
{
  failIfError(response);

  if (response)
    InspectorTest.log(response.result.result.description);

  var method = methods.shift();
  if (!method)
    InspectorTest.completeTest();

  Protocol.Runtime.evaluate({ expression: method, includeCommandLineAPI: true }).then(checkMethod);
}

function failIfError(response)
{
  if (response && response.error)
    InspectorTest.log("FAIL: " + JSON.stringify(response.error));
}