]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * The contents of this file are subject to the Netscape Public | |
3 | * License Version 1.1 (the "License"); you may not use this file | |
4 | * except in compliance with the License. You may obtain a copy of | |
5 | * the License at http://www.mozilla.org/NPL/ | |
6 | * | |
7 | * Software distributed under the License is distributed on an "AS | |
8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or | |
9 | * implied. See the License for the specific language governing | |
10 | * rights and limitations under the License. | |
11 | * | |
12 | * The Original Code is mozilla.org code. | |
13 | * | |
14 | * The Initial Developer of the Original Code is Netscape | |
15 | * Communications Corporation. Portions created by Netscape are | |
16 | * Copyright (C) 1998 Netscape Communications Corporation. All | |
17 | * Rights Reserved. | |
18 | * | |
19 | * Contributor(s): | |
20 | */ | |
21 | ||
22 | /** | |
23 | * File Name: regress-7635.js | |
24 | * Reference: http://bugzilla.mozilla.org/show_bug.cgi?id=7635 | |
25 | * Description: instanceof tweaks | |
26 | * Author: | |
27 | */ | |
28 | ||
29 | var SECTION = "instanceof"; // provide a document reference (ie, ECMA section) | |
30 | var VERSION = "ECMA_2"; // Version of JavaScript or ECMA | |
31 | var TITLE = "Regression test for Bugzilla #7635"; // Provide ECMA section title or a description | |
32 | var BUGNUMBER = "http://bugzilla.mozilla.org/show_bug.cgi?id=7635"; // Provide URL to bugsplat or bugzilla report | |
33 | ||
34 | startTest(); // leave this alone | |
35 | ||
36 | /* | |
37 | * Calls to AddTestCase here. AddTestCase is a function that is defined | |
38 | * in shell.js and takes three arguments: | |
39 | * - a string representation of what is being tested | |
40 | * - the expected result | |
41 | * - the actual result | |
42 | * | |
43 | * For example, a test might look like this: | |
44 | * | |
45 | * var zip = /[\d]{5}$/; | |
46 | * | |
47 | * AddTestCase( | |
48 | * "zip = /[\d]{5}$/; \"PO Box 12345 Boston, MA 02134\".match(zip)", // description of the test | |
49 | * "02134", // expected result | |
50 | * "PO Box 12345 Boston, MA 02134".match(zip) ); // actual result | |
51 | * | |
52 | */ | |
53 | ||
54 | function Foo() {} | |
55 | theproto = {}; | |
56 | Foo.prototype = theproto | |
57 | theproto instanceof Foo | |
58 | ||
59 | ||
60 | AddTestCase( "function Foo() {}; theproto = {}; Foo.prototype = theproto; theproto instanceof Foo", | |
61 | false, | |
62 | theproto instanceof Foo ); | |
63 | ||
64 | var o = {}; | |
65 | ||
66 | AddTestCase( "var o = {}; o instanceof o", false, o instanceof o ); | |
67 | ||
68 | var f = new Function(); | |
69 | ||
70 | AddTestCase( "var f = new Function(); f instanceof f", false, f instanceof f ); | |
71 | ||
72 | ||
73 | test(); // leave this alone. this executes the test cases and | |
74 | // displays results. |