blob: aeb45287bae06d89bb06b62b45d816464661f477 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-string.prototype.replace
description: >
Non-callable replaceValue is evaluated before searching the string.
info: |
String.prototype.replace ( searchValue, replaceValue )
...
6. If functionalReplace is false, then
a. Set replaceValue to ? ToString(replaceValue).
7. Search string for the first occurrence of searchString and let pos be the
index within string of the first code unit of the matched substring and let
matched be searchString. If no occurrences of searchString were found, return string.
---*/
var calls = 0;
var replaceValue = {
toString: function() {
calls += 1;
return "b";
},
};
var newString = "".replace("a", replaceValue);
assert.sameValue(newString, "");
assert.sameValue(calls, 1);
reportCompare(0, 0);
|