|
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-003.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-003.js"; |
|
19 var VERSION = "JS1_4"; |
|
20 var TITLE = "Property Accessors"; |
|
21 writeHeaderToLog( SECTION + " "+TITLE ); |
|
22 |
|
23 startTest(); |
|
24 |
|
25 // try to access properties of primitive types |
|
26 |
|
27 OBJECT = new Property( "undefined", void 0, "undefined", NaN ); |
|
28 |
|
29 var result = "Failed"; |
|
30 var exception = "No exception thrown"; |
|
31 var expect = "Passed"; |
|
32 |
|
33 try { |
|
34 result = OBJECT.value.toString(); |
|
35 } catch ( e ) { |
|
36 result = expect; |
|
37 exception = e.toString(); |
|
38 } |
|
39 |
|
40 |
|
41 new TestCase( |
|
42 SECTION, |
|
43 "Get the toString value of an object whose value is undefined "+ |
|
44 "(threw " + exception +")", |
|
45 expect, |
|
46 result ); |
|
47 |
|
48 test(); |
|
49 |
|
50 function Property( object, value, string, number ) { |
|
51 this.object = object; |
|
52 this.string = String(value); |
|
53 this.number = Number(value); |
|
54 this.value = value; |
|
55 } |