Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / ecma_5 / strict / function-name-arity.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 function fn() {
9   return function f(a, b, c) { };
10 }
11
12 assertEq(testLenientAndStrict('var f = fn(); f.name = "g"; f.name',
13                               returns("f"), raisesException(TypeError)),
14          true);
15 assertEq(testLenientAndStrict('var f = fn(); delete f.name',
16                               returns(false), raisesException(TypeError)),
17          true);
18
19 assertEq(testLenientAndStrict('var f = fn(); f.arity = 4; f.arity',
20                               returns(3), raisesException(TypeError)),
21          true);
22 assertEq(testLenientAndStrict('var f = fn(); delete f.arity',
23                               returns(false), raisesException(TypeError)),
24          true);
25
26 reportCompare(true, true);