summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/block/S12.1_A5.js
blob: 97a625bedc12aef9e5d5abd606a8dbe594d3af34 (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
// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: |
    StatementList: StatementList Statement inside the Block is evaluated from
    left to right
es5id: 12.1_A5
description: Throwing exceptions within embedded/sequence Blocks
---*/

//////////////////////////////////////////////////////////////////////////////
//CHECK#1
try {
	throw 1;
    throw 2;
    throw 3;
    throw new Test262Error('1.1: throw 1 lead to throwing exception');
} catch (e) {
	if (e!==1) {
		throw new Test262Error('#1.2: Exception === 1. Actual:  Exception ==='+ e);
	}
}
////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
//CHECK#2
try {
	{
	    throw 1;
        throw 2;
    }
    throw 3;
    throw new Test262Error('#2.1: throw 1 lead to throwing exception');
} catch (e) {
	if (e!==1) {
		throw new Test262Error('#2.2: Exception === 1. Actual:  Exception ==='+ e);
	}
}
////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
//CHECK#3
try {
	throw 1;
    {
        throw 2;
        throw 3;
    }
    throw new Test262Error('#3.1: throw 1 lead to throwing exception');
} catch (e) {
	if (e!==1) {
		throw new Test262Error('#3.2: Exception === 1. Actual:  Exception ==='+ e);
	}
}
////////////////////////////////////////////////////////////////////////////////

reportCompare(0, 0);