js/src/tests/js1_3/inherit/proto_3.js

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:5b25a38fae32
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: proto_3.js
9 Section:
10 Description: Adding properties to an instance
11
12 This tests Object Hierarchy and Inheritance, as described in the document
13 Object Hierarchy and Inheritance in JavaScript, last modified on 12/18/97
14 15:19:34 on http://devedge.netscape.com/. Current URL:
15 http://devedge.netscape.com/docs/manuals/communicator/jsobj/contents.htm
16
17 This tests the syntax ObjectName.prototype = new PrototypeObject using the
18 Employee example in the document referenced above.
19
20 Author: christine@netscape.com
21 Date: 12 november 1997
22 */
23
24 var SECTION = "proto_3";
25 var VERSION = "JS1_3";
26 var TITLE = "Adding properties to an Instance";
27
28 startTest();
29 writeHeaderToLog( SECTION + " "+ TITLE);
30
31 function Employee () {
32 this.name = "";
33 this.dept = "general";
34 }
35 function Manager () {
36 this.reports = [];
37 }
38 Manager.prototype = new Employee();
39
40 function WorkerBee () {
41 this.projects = new Array();
42 }
43
44 WorkerBee.prototype = new Employee();
45
46 function SalesPerson () {
47 this.dept = "sales";
48 this.quota = 100;
49 }
50 SalesPerson.prototype = new WorkerBee();
51
52 function Engineer () {
53 this.dept = "engineering";
54 this.machine = "";
55 }
56 Engineer.prototype = new WorkerBee();
57
58 var jim = new Employee();
59 var pat = new Employee();
60
61 jim.bonus = 300;
62
63 new TestCase( SECTION,
64 "jim = new Employee(); jim.bonus = 300; jim.bonus",
65 300,
66 jim.bonus );
67
68
69 new TestCase( SECTION,
70 "pat = new Employee(); pat.bonus",
71 void 0,
72 pat.bonus );
73 test();

mercurial