summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/break/line-terminators.js
blob: 8384b5e38977253e2e0168cc4df4edd2a03da806 (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
// 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 "break" and Identifier is not allowed,
    "break" is evaluated without label
es5id: 12.8_A2
description: >
    Checking by using eval, inserting LineTerminator between break and
    Identifier
---*/

FOR1 : for(var i=1;i<2;i++){
  LABEL1 : do {
    break
FOR1;
  } while(0);
}

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

FOR2 : for(var i=1;i<2;i++){
  LABEL2 : do {
    break
FOR2;
  } while(0);
}

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

FOR3 : for(var i=1;i<2;i++){
  LABEL3 : do {
    breakFOR3;
  } while(0);
}

assert.sameValue(i, 2, '#3: Since LineTerminator(U-2028) between break and Identifier not allowed break evaluates without label');

FOR4 : for(var i=1;i<2;i++){
  LABEL4 : do {
    breakFOR4;
  } while(0);
}

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

reportCompare(0, 0);