Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Jan 7, 2019
1 parent f09a603 commit 951a4f9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
6 changes: 3 additions & 3 deletions packages/core-js/modules/es.string.replace.js
Expand Up @@ -112,12 +112,12 @@ require('../internals/fix-regexp-well-known-symbol-logic')(
break;
default: // \d\d?
var n = +ch;
if (n === 0) return ch;
if (n === 0) return match;
if (n > m) {
var f = floor(n / 10);
if (f === 0) return ch;
if (f === 0) return match;
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
return ch;
return match;
}
capture = captures[n - 1];
}
Expand Down
4 changes: 4 additions & 0 deletions tests/tests/es.string.replace.js
Expand Up @@ -126,6 +126,10 @@ const run = assert => {
assert.strictEqual('uid=31'.replace(/(uid=)(\d+)/, '$11A15'), 'uid=1A15', 'S15.5.4.11_A3_T3');
assert.strictEqual('abc12 def34'.replace(/([a-z]+)([0-9]+)/, (a, b, c) => c + b), '12abc def34', 'S15.5.4.11_A4_T1');
assert.strictEqual('aaaaaaaaaa,aaaaaaaaaaaaaaa'.replace(/^(a+)\1*,\1+$/, '$1'), 'aaaaa', 'S15.5.4.11_A5_T1');

// https://github.com/zloirock/core-js/issues/471
assert.strictEqual('{price} Retail'.replace(/{price}/g, '$25.00'), '$25.00 Retail');
assert.strictEqual('a'.replace(/(.)/, '$0'), '$0');
};

QUnit.test('String#replace regression', run);
Expand Down

0 comments on commit 951a4f9

Please sign in to comment.