Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / ecma_5 / strict / 15.10.7.js
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
3 /*
4  * Any copyright is dedicated to the Public Domain.
5  * http://creativecommons.org/licenses/publicdomain/
6  */
7
8 assertEq(testLenientAndStrict('var r = /foo/; r.source = "bar"; r.source',
9                               returns("foo"), raisesException(TypeError)),
10          true);
11 assertEq(testLenientAndStrict('var r = /foo/; delete r.source',
12                               returns(false), raisesException(TypeError)),
13          true);
14
15 assertEq(testLenientAndStrict('var r = /foo/; r.global = true; r.global',
16                               returns(false), raisesException(TypeError)),
17          true);
18 assertEq(testLenientAndStrict('var r = /foo/; delete r.global',
19                               returns(false), raisesException(TypeError)),
20          true);
21
22 assertEq(testLenientAndStrict('var r = /foo/; r.ignoreCase = true; r.ignoreCase',
23                               returns(false), raisesException(TypeError)),
24          true);
25 assertEq(testLenientAndStrict('var r = /foo/; delete r.ignoreCase',
26                               returns(false), raisesException(TypeError)),
27          true);
28
29 assertEq(testLenientAndStrict('var r = /foo/; r.multiline = true; r.multiline',
30                               returns(false), raisesException(TypeError)),
31          true);
32 assertEq(testLenientAndStrict('var r = /foo/; delete r.multiline',
33                               returns(false), raisesException(TypeError)),
34          true);
35
36 assertEq(testLenientAndStrict('var r = /foo/; r.lastIndex = 42; r.lastIndex',
37                               returns(42), returns(42)),
38          true);
39 assertEq(testLenientAndStrict('var r = /foo/; delete r.lastIndex',
40                               returns(false), raisesException(TypeError)),
41          true);
42
43 reportCompare(true, true);