mirror of
https://github.com/tc39/test262.git
synced 2025-08-28 05:18:32 +02:00
51 lines
2.2 KiB
JavaScript
51 lines
2.2 KiB
JavaScript
// Copyright 2009 the Sputnik authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/**
|
|
* The initial value of String.prototype.constructor is the built-in String constructor
|
|
*
|
|
* @path ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js
|
|
* @description Create new String.prototype.constructor object and check it
|
|
*/
|
|
|
|
var __constr = String.prototype.constructor;
|
|
|
|
var __instance = new __constr("choosing one");
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// CHECK#0
|
|
if (__instance !="choosing one") {
|
|
$ERROR('#0: __constr = String.prototype.constructor; __instance = new __constr("choosing one"); __instance =="choosing one". Actual: __instance =='+__instance );
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// CHECK#1
|
|
if (__instance.constructor !== String) {
|
|
$ERROR('#1: __constr = String.prototype.constructor; __instance = new __constr("choosing one"); __instance.constructor === String. Actual: __instance.constructor ==='+__instance.constructor );
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// CHECK#2
|
|
if (!(String.prototype.isPrototypeOf(__instance))) {
|
|
$ERROR('#2: __constr = String.prototype.constructor; __instance = new __constr("choosing one"); String.prototype.isPrototypeOf(__instance) return true. Actual: '+String.prototype.isPrototypeOf(__instance));
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// CHECK#3
|
|
var __to_string_result = '[object '+ 'String' +']';
|
|
|
|
delete String.prototype.toString;
|
|
|
|
if (__instance.toString() !== __to_string_result) {
|
|
$ERROR('#3: __constr = String.prototype.constructor; __instance = new __constr("choosing one"); delete String.prototype.toString; __instance.toString() === __to_string_result. Actual: __instance.toString() ==='+__instance.toString()+' __to_string_result ==='+__to_string_result );
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|