1/**
2    File Name:          expressions-002.js
3    Corresponds to:     ecma/Expressions/11.2.1-3-n.js
4    ECMA Section:       11.2.1 Property Accessors
5    Description:
6
7    Try to access properties of an object whose value is undefined.
8
9    Author:             christine@netscape.com
10    Date:               09 september 1998
11*/
12    var SECTION = "expressions-002.js";
13    var VERSION = "JS1_4";
14    var TITLE   = "Property Accessors";
15    writeHeaderToLog( SECTION + " "+TITLE );
16
17    startTest();
18
19    var tc = 0;
20    var testcases = new Array();
21
22    // go through all Native Function objects, methods, and properties and get their typeof.
23
24    var PROPERTY = new Array();
25    var p = 0;
26
27    // try to access properties of primitive types
28
29    OBJECT = new Property(  "undefined",    void 0,   "undefined",   NaN );
30
31    var result = "Failed";
32    var exception = "No exception thrown";
33    var expect = "Passed";
34
35    try {
36        result = OBJECT.value.valueOf();
37    } catch ( e ) {
38        result = expect;
39        exception = e.toString();
40    }
41
42
43    testcases[tc++] = new TestCase(
44        SECTION,
45        "Get the value of an object whose value is undefined "+
46        "(threw " + exception +")",
47        expect,
48        result );
49
50    test();
51
52function Property( object, value, string, number ) {
53    this.object = object;
54    this.string = String(value);
55    this.number = Number(value);
56    this.valueOf = value;
57}