diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/String/prototype/match/S15.5.4.10_A1_T9.js')
-rw-r--r-- | js/src/tests/test262/built-ins/String/prototype/match/S15.5.4.10_A1_T9.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/String/prototype/match/S15.5.4.10_A1_T9.js b/js/src/tests/test262/built-ins/String/prototype/match/S15.5.4.10_A1_T9.js new file mode 100644 index 0000000000..5e6a56d28b --- /dev/null +++ b/js/src/tests/test262/built-ins/String/prototype/match/S15.5.4.10_A1_T9.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: String.prototype.match (regexp) +es5id: 15.5.4.10_A1_T9 +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) { + throw new Test262Error('#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) { + throw new Test262Error('#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) { + throw new Test262Error('#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]) { + throw new Test262Error('#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]); + } +} +// +////////////////////////////////////////////////////////////////////////////// + +reportCompare(0, 0); |