mirror of
https://github.com/tc39/test262.git
synced 2025-08-28 13:28:38 +02:00
54 lines
2.3 KiB
JavaScript
54 lines
2.3 KiB
JavaScript
// Copyright 2009 the Sputnik authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/**
|
|
* String.prototype.match (regexp)
|
|
*
|
|
* @path ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js
|
|
* @description Call match (regexp) function with function(){}() argument of string object
|
|
*/
|
|
|
|
var __obj = {
|
|
valueOf:function(){},
|
|
toString:void 0
|
|
};
|
|
|
|
var __matched = new String(__obj).match(function(){}());
|
|
|
|
var __expected = RegExp(undefined).exec("undefined");
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//CHECK#1
|
|
if (__matched.length !== __expected.length) {
|
|
$ERROR('#1: __obj = {valueOf:function(){}, toString:void 0}; __matched = new String(__obj).match(function(){}()); __expected = RegExp(undefined).exec("undefined"); __matched.length === __expected.length. Actual: '+__matched.length );
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//CHECK#2
|
|
if (__matched.index !== __expected.index) {
|
|
$ERROR('#2: __obj = {valueOf:function(){}, toString:void 0}; __matched = new String(__obj).match(function(){}()); __expected = RegExp(undefined).exec("undefined"); __matched.index === __expected.index. Actual: '+__matched.index );
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//CHECK#3
|
|
if (__matched.input !== __expected.input) {
|
|
$ERROR('#3: __obj = {valueOf:function(){}, toString:void 0}; __matched = new String(__obj).match(function(){}()); __expected = RegExp(undefined).exec("undefined"); __matched.input === __expected.input. Actual: '+__matched.input );
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//CHECK#4
|
|
for(var index=0; index<__expected.length; index++) {
|
|
if (__matched[index]!==__expected[index]) {
|
|
$ERROR('#4.'+index+': __obj = {valueOf:function(){}, toString:void 0}; __matched = new String(__obj).match(function(){}()); __expected = RegExp(undefined).exec("undefined"); __matched['+index+']===__expected['+index+']. Actual: '+__matched[index]);
|
|
}
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|