Fix two js indentation problems
[emacs.git] / test / manual / indent / js.js
blobb0d8bcabd203f222144ff157ae658a817781360b
1 var a = 1;
2 b = 2;
4 let c = 1,
5     d = 2;
7 var e = 100500,
8     + 1;
10 // Don't misinterpret "const"
11 /const/
13 function test ()
15   return /[/]/.test ('/')     // (bug#19397)
18 var f = bar('/protocols/')
19 baz();
21 var h = 100500
24 const i = 1,
25       j = 2;
27 var k = 1,
28     l = [
29       1, 2,
30       3, 4
31     ],
32     m = 5;
34 var n = function() {
35   return 7;
37     o = 8;
39 foo(bar, function() {
40   return 2;
41 });
43 switch (b) {
44 case "a":
45   2;
46 default:
47   3;
50 var p = {
51   case: 'zzzz',
52   default: 'donkey',
53   tee: 'ornery'
56 var evens = [e for each (e in range(0, 21))
57                if (ed % 2 == 0)];
59 var funs = [
60   function() {
61     for (;;) {
62     }
63   },
64   function(){},
68   !=b
69   !==b
71 a++
72 b +=
73   c
75 var re = /some value/
76 str.match(re)
78 baz(`http://foo.bar/${tee}`)
79   .qux();
81 `multiline string
82        contents
83   are kept
84         unchanged!`
86 class A {
87   * x() {
88     return 1
89       * a(2);
90   }
92   *[Symbol.iterator]() {
93     yield "Foo";
94     yield "Bar";
95   }
98 if (true)
99   1
100 else
101   2
103 Foobar
104   .find()
105   .catch((err) => {
106     return 2;
107   })
108   .then((num) => {
109     console.log(num);
110   });
112 var z = [
113   ...iterableObj,
114   4,
115   5
118 var arr = [
119   -1, 2,
120   -3, 4 +
121     -5
124 // Regression test for bug#15582.
125 if (x > 72 &&
126     y < 85) { // found
127   do_something();
130 // Test that chaining doesn't happen when js-chain-indent is nil.
131 let x = svg.mumble()
132     .zzz;
134 // https://github.com/mooz/js2-mode/issues/405
135 if (1) {
136   isSet
137     ? (isEmpty ? 2 : 3)
138     : 4
141 // Regexp is not a continuation
142 bar(
143   "string arg1",
144   /abc/
147 // Local Variables:
148 // indent-tabs-mode: nil
149 // js-indent-level: 2
150 // End: