rhino1.7.7.testsrc.tests.ecma_3.Object.class-005.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rhino Show documentation
Show all versions of rhino Show documentation
Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically
embedded into Java applications to provide scripting to end users.
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* Date: 14 Mar 2001
*
* SUMMARY: Testing the internal [[Class]] property of user-defined types.
* See ECMA-262 Edition 3 13-Oct-1999, Section 8.6.2 re [[Class]] property.
*
* Same as class-001.js - but testing user-defined types here, not
* native types. Therefore we expect the [[Class]] property to equal
* 'Object' in each case -
*
* The getJSClass() function we use is in a utility file, e.g. "shell.js"
*/
//-----------------------------------------------------------------------------
var gTestfile = 'class-005.js';
var i = 0;
var UBound = 0;
var BUGNUMBER = '(none)';
var summary = 'Testing the internal [[Class]] property of user-defined types';
var statprefix = 'Current user-defined type is: ';
var status = ''; var statusList = [ ];
var actual = ''; var actualvalue = [ ];
var expect= ''; var expectedvalue = [ ];
Calf.prototype= new Cow();
/*
* We set the expect variable each time only for readability.
* We expect 'Object' every time; see discussion above -
*/
status = 'new Cow()';
actual = getJSClass(new Cow());
expect = 'Object';
addThis();
status = 'new Calf()';
actual = getJSClass(new Calf());
expect = 'Object';
addThis();
//---------------------------------------------------------------------------------
test();
//---------------------------------------------------------------------------------
function addThis()
{
statusList[UBound] = status;
actualvalue[UBound] = actual;
expectedvalue[UBound] = expect;
UBound++;
}
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
for (i = 0; i < UBound; i++)
{
reportCompare(expectedvalue[i], actualvalue[i], getStatus(i));
}
exitFunc ('test');
}
function getStatus(i)
{
return statprefix + statusList[i];
}
function Cow(name)
{
this.name=name;
}
function Calf(name)
{
this.name=name;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy