|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 |
|
7 /** |
|
8 File Name: expressions-002.js |
|
9 Corresponds to: ecma/Expressions/11.2.1-3-n.js |
|
10 ECMA Section: 11.2.1 Property Accessors |
|
11 Description: |
|
12 |
|
13 Try to access properties of an object whose value is undefined. |
|
14 |
|
15 Author: christine@netscape.com |
|
16 Date: 09 september 1998 |
|
17 */ |
|
18 var SECTION = "expressions-002.js"; |
|
19 var VERSION = "JS1_4"; |
|
20 var TITLE = "Property Accessors"; |
|
21 writeHeaderToLog( SECTION + " "+TITLE ); |
|
22 |
|
23 startTest(); |
|
24 |
|
25 // go through all Native Function objects, methods, and properties and get their typeof. |
|
26 |
|
27 var PROPERTY = new Array(); |
|
28 var p = 0; |
|
29 |
|
30 // try to access properties of primitive types |
|
31 |
|
32 OBJECT = new Property( "undefined", void 0, "undefined", NaN ); |
|
33 |
|
34 var result = "Failed"; |
|
35 var exception = "No exception thrown"; |
|
36 var expect = "Passed"; |
|
37 |
|
38 try { |
|
39 result = OBJECT.value.valueOf(); |
|
40 } catch ( e ) { |
|
41 result = expect; |
|
42 exception = e.toString(); |
|
43 } |
|
44 |
|
45 |
|
46 new TestCase( |
|
47 SECTION, |
|
48 "Get the value of an object whose value is undefined "+ |
|
49 "(threw " + exception +")", |
|
50 expect, |
|
51 result ); |
|
52 |
|
53 test(); |
|
54 |
|
55 function Property( object, value, string, number ) { |
|
56 this.object = object; |
|
57 this.string = String(value); |
|
58 this.number = Number(value); |
|
59 this.valueOf = value; |
|
60 } |