diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/prototype/Symbol.search/cstm-exec-return-index.js')
-rw-r--r-- | js/src/tests/test262/built-ins/RegExp/prototype/Symbol.search/cstm-exec-return-index.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/prototype/Symbol.search/cstm-exec-return-index.js b/js/src/tests/test262/built-ins/RegExp/prototype/Symbol.search/cstm-exec-return-index.js new file mode 100644 index 0000000000..01410d1bdb --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/prototype/Symbol.search/cstm-exec-return-index.js @@ -0,0 +1,34 @@ +// Copyright (C) 2015 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 21.2.5.9 +description: Index value returned by a custom `exec` method +info: | + [...] + 9. Let result be RegExpExec(rx, S). + [...] + 14. Return Get(result, "index"). + + 21.2.5.2.1 Runtime Semantics: RegExpExec ( R, S ) + + [...] + 5. If IsCallable(exec) is true, then + a. Let result be Call(exec, R, «S»). + b. ReturnIfAbrupt(result). + c. If Type(result) is neither Object or Null, throw a TypeError + exception. + d. Return result. + +features: [Symbol.search] +---*/ + +var fakeRe = { + exec: function() { + return { index: 86 }; + } +}; + +assert.sameValue(RegExp.prototype[Symbol.search].call(fakeRe, 'abc'), 86); + +reportCompare(0, 0); |