summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/test/mochitest/examples/preview.js
blob: 6e3e014fda105bc04d2cb1349aac55bca4a36d55 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */

function empties() {
  const a = "";
  const b = false;
  const c = undefined;
  const d = null;
  debugger;
}

function smalls() {
  const a = "...";
  const b = true;
  const c = 1;
  const d = [];
  const e = {};
  debugger;
}

function objects() {
  const obj = {
    foo: 1,
  };

  const empty = Object.create(null);
  const foo = obj?.foo;

  debugger;
}

function largeArray() {
  const bs = [];
  for (let i = 0; i <= 100; i++) {
    bs.push({ a: 2, b: { c: 3 } });
  }
  debugger;
}

function classPreview() {
  class Foo {
    x = 1;
    #privateVar = 2;
    static #privateStatic = { first: "a", second: "b" };
    #privateMethod() {
      return this.#privateVar;
    }
    breakFn() {
      let i = this.x * this.#privateVar + Foo.#privateStatic;
      if (#privateVar in this && this.#privateVar !== 0) {
        i = i * 2;
      }
      const y = {
        hello: {
          foo: "foo",
           bar: "bar"
        },
      };
      y;
      debugger;
    }
  }
  const foo = new Foo();
  foo.breakFn();
}

function invalidTargets() {
  "a";
  false;
  undefined;
  null;
  42;
  const myVar = "foo";
  debugger;
  return myVar;
}

function multipleTokens() {
  var foo = {bar: { baz: "bloop"}}, blip = {boom: 0};
  foo || blip
  foo.bar;
  foo.bar.baz;
  foo || blip.boom;
  debugger;
}