summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/continue/line-terminators.js
blob: 6790dfc85927b8ead64227bd22a804b88794b15f (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
// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: |
    Since LineTerminator between "continue" and Identifier is not allowed,
    "continue" is evaluated without label
es5id: 12.7_A2
description: >
    Checking by using eval, inserting LineTerminator between continue
    and Identifier
---*/

FOR1 : for(var i=1;i<2;i++){
  FOR1NESTED : for(var j=1;j<2;j++) {
    continue
FOR1;
  } while(0);
}

assert.sameValue(j, 2, '#1: Since LineTerminator(U-000A) between continue and Identifier not allowed continue evaluates without label');

FOR2 : for(var i=1;i<2;i++){
  FOR2NESTED : for(var j=1;j<2;j++) {
    continue
FOR2;
  } while(0);
}

assert.sameValue(j, 2, '#2: Since LineTerminator(U-000D) between continue and Identifier not allowed continue evaluates without label');

FOR3 : for(var i=1;i<2;i++){
  FOR3NESTED : for(var j=1;j<2;j++) {
    continueFOR3;
  } while(0);
}
assert.sameValue(j, 2, '#3: Since LineTerminator(U-2028) between continue and Identifier not allowed continue evaluates without label');

FOR4 : for(var i=1;i<2;i++){
  FOR4NESTED : for(var j=1;j<2;j++) {
    continueFOR4;
  } while(0);
}

assert.sameValue(j, 2, '#4: Since LineTerminator(U-2029) between continue and Identifier not allowed continue evaluates without label');

reportCompare(0, 0);