~ubuntu-branches/ubuntu/vivid/mozjs24/vivid

« back to all changes in this revision

Viewing changes to js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-16.js

  • Committer: Package Import Robot
  • Author(s): Tim Lunn
  • Date: 2014-02-11 21:55:34 UTC
  • Revision ID: package-import@ubuntu.com-20140211215534-m1zyq5aj59md3y07
Tags: upstream-24.2.0
ImportĀ upstreamĀ versionĀ 24.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/// Copyright (c) 2012 Ecma International.  All rights reserved. 
 
2
/// Ecma International makes this code available under the terms and conditions set
 
3
/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the 
 
4
/// "Use Terms").   Any redistribution of this code must retain the above 
 
5
/// copyright and this notice and otherwise comply with the Use Terms.
 
6
/**
 
7
 * @path ch07/7.6/7.6.1/7.6.1-4-16.js
 
8
 * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: undefined, NaN, Infinity
 
9
 */
 
10
 
 
11
 
 
12
function testcase() {
 
13
        var test0 = 0, test1 = 1, test2 = 2;
 
14
        var tokenCodes  = {
 
15
            set undefined(value){
 
16
                test0 = value;
 
17
            },
 
18
            get undefined(){
 
19
                return test0;
 
20
            },
 
21
            set NaN(value){
 
22
                test1 = value;
 
23
            },
 
24
            get NaN(){
 
25
                return test1;
 
26
            },
 
27
            set Infinity(value){
 
28
                test2 = value;
 
29
            },
 
30
            get Infinity(){
 
31
                return test2;
 
32
            }
 
33
        };      
 
34
        var arr = [
 
35
            'undefined',
 
36
            'NaN',
 
37
            'Infinity'
 
38
            ];
 
39
        for(var p in tokenCodes) {       
 
40
            for(var p1 in arr) {                
 
41
                if(arr[p1] === p) {
 
42
                    if(!tokenCodes.hasOwnProperty(arr[p1])) {
 
43
                        return false;
 
44
                    };
 
45
                }
 
46
            }
 
47
        }
 
48
        return true;
 
49
    }
 
50
runTestCase(testcase);