1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/ecma/extensions/15-1.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,60 @@ 1.4 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.8 + 1.9 + 1.10 +/** 1.11 + File Name: 15.js 1.12 + ECMA Section: 15 Native ECMAScript Objects 1.13 + Description: Every built-in prototype object has the Object prototype 1.14 + object, which is the value of the expression 1.15 + Object.prototype (15.2.3.1) as the value of its internal 1.16 + [[Prototype]] property, except the Object prototype 1.17 + object itself. 1.18 + 1.19 + Every native object associated with a program-created 1.20 + function also has the Object prototype object as the 1.21 + value of its internal [[Prototype]] property. 1.22 + 1.23 + Author: christine@netscape.com 1.24 + Date: 28 october 1997 1.25 + 1.26 +*/ 1.27 +var SECTION = "15-1"; 1.28 +var VERSION = "ECMA_1"; 1.29 +startTest(); 1.30 +var TITLE = "Native ECMAScript Objects"; 1.31 + 1.32 +writeHeaderToLog( SECTION + " "+ TITLE); 1.33 +/* 1.34 + new TestCase( SECTION, "Function.prototype.__proto__", Object.prototype, Function.prototype.__proto__ ); 1.35 + new TestCase( SECTION, "Array.prototype.__proto__", Object.prototype, Array.prototype.__proto__ ); 1.36 + new TestCase( SECTION, "String.prototype.__proto__", Object.prototype, String.prototype.__proto__ ); 1.37 + new TestCase( SECTION, "Boolean.prototype.__proto__", Object.prototype, Boolean.prototype.__proto__ ); 1.38 + new TestCase( SECTION, "Number.prototype.__proto__", Object.prototype, Number.prototype.__proto__ ); 1.39 +// new TestCase( SECTION, "Math.prototype.__proto__", Object.prototype, Math.prototype.__proto__ ); 1.40 +new TestCase( SECTION, "Date.prototype.__proto__", Object.prototype, Date.prototype.__proto__ ); 1.41 +new TestCase( SECTION, "TestCase.prototype.__proto__", Object.prototype, TestCase.prototype.__proto__ ); 1.42 + 1.43 +new TestCase( SECTION, "MyObject.prototype.__proto__", Object.prototype, MyObject.prototype.__proto__ ); 1.44 +*/ 1.45 +new TestCase( SECTION, "Function.prototype.__proto__ == Object.prototype", true, Function.prototype.__proto__ == Object.prototype ); 1.46 +new TestCase( SECTION, "Array.prototype.__proto__ == Object.prototype", true, Array.prototype.__proto__ == Object.prototype ); 1.47 +new TestCase( SECTION, "String.prototype.__proto__ == Object.prototype", true, String.prototype.__proto__ == Object.prototype ); 1.48 +new TestCase( SECTION, "Boolean.prototype.__proto__ == Object.prototype", true, Boolean.prototype.__proto__ == Object.prototype ); 1.49 +new TestCase( SECTION, "Number.prototype.__proto__ == Object.prototype", true, Number.prototype.__proto__ == Object.prototype ); 1.50 +// new TestCase( SECTION, "Math.prototype.__proto__ == Object.prototype", true, Math.prototype.__proto__ == Object.prototype ); 1.51 +new TestCase( SECTION, "Date.prototype.__proto__ == Object.prototype", true, Date.prototype.__proto__ == Object.prototype ); 1.52 +new TestCase( SECTION, "TestCase.prototype.__proto__ == Object.prototype", true, TestCase.prototype.__proto__ == Object.prototype ); 1.53 + 1.54 +new TestCase( SECTION, "MyObject.prototype.__proto__ == Object.prototype", true, MyObject.prototype.__proto__ == Object.prototype ); 1.55 + 1.56 + 1.57 +test(); 1.58 + 1.59 + 1.60 +function MyObject( value ) { 1.61 + this.value = value; 1.62 + this.valueOf = new Function( "return this.value" ); 1.63 +}