js/src/tests/ecma/extensions/15-1.js

changeset 0
6474c204b198
     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 +}

mercurial