diff --git a/lib/node_modules/@stdlib/string/base/replace-after-last/lib/main.js b/lib/node_modules/@stdlib/string/base/replace-after-last/lib/main.js index a51d1aa044d9..ef4d2126fad3 100644 --- a/lib/node_modules/@stdlib/string/base/replace-after-last/lib/main.js +++ b/lib/node_modules/@stdlib/string/base/replace-after-last/lib/main.js @@ -68,7 +68,7 @@ function replaceAfterLast( str, search, replacement, fromIndex ) { } } idx = str.lastIndexOf( search, fromIndex ); - if ( str === '' || search === '' || replacement === '' || idx < 0 ) { + if ( str === '' || search === '' || idx < 0 ) { return str; } return str.substring( 0, idx + search.length ) + replacement; diff --git a/lib/node_modules/@stdlib/string/base/replace-after-last/test/test.js b/lib/node_modules/@stdlib/string/base/replace-after-last/test/test.js index 25a444ec6edb..2dee20acebef 100644 --- a/lib/node_modules/@stdlib/string/base/replace-after-last/test/test.js +++ b/lib/node_modules/@stdlib/string/base/replace-after-last/test/test.js @@ -141,3 +141,16 @@ tape( 'the function returns the entire string if the search string is the empty t.end(); }); + +tape( 'the function replaces the substring after the last occurrence of a search string when replacement is the empty string', function test( t ) { + var expected; + var actual; + var str; + + str = 'beep boop baz'; + actual = replaceAfterLast( str, 'p', '', str.length ); + expected = 'beep boop'; + t.strictEqual( actual, expected, 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/string/base/replace-after/lib/main.js b/lib/node_modules/@stdlib/string/base/replace-after/lib/main.js index b78bd8239c72..051f49681a5a 100644 --- a/lib/node_modules/@stdlib/string/base/replace-after/lib/main.js +++ b/lib/node_modules/@stdlib/string/base/replace-after/lib/main.js @@ -61,7 +61,7 @@ function replaceAfter( str, search, replacement, fromIndex ) { return str; } idx = str.indexOf( search, fromIndex ); - if ( str === '' || search === '' || replacement === '' || idx < 0 ) { + if ( str === '' || search === '' || idx < 0 ) { return str; } return str.substring( 0, idx + search.length ) + replacement; diff --git a/lib/node_modules/@stdlib/string/base/replace-after/test/test.js b/lib/node_modules/@stdlib/string/base/replace-after/test/test.js index 4a776e158521..7b62b29a2d4b 100644 --- a/lib/node_modules/@stdlib/string/base/replace-after/test/test.js +++ b/lib/node_modules/@stdlib/string/base/replace-after/test/test.js @@ -128,3 +128,22 @@ tape( 'the function returns the entire string if the search string is the empty t.end(); }); + +tape( 'the function replaces the substring after a search string when replacement is the empty string', function test( t ) { + var expected; + var actual; + + actual = replaceAfter( 'beep boop', ' ', '', 0 ); + expected = 'beep '; + t.strictEqual( actual, expected, 'returns expected value' ); + + actual = replaceAfter( 'beep boop', 'p', '', 0 ); + expected = 'beep'; + t.strictEqual( actual, expected, 'returns expected value' ); + + actual = replaceAfter( 'Hello World!', 'Hello', '', 0 ); + expected = 'Hello'; + t.strictEqual( actual, expected, 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/string/base/replace-before-last/lib/main.js b/lib/node_modules/@stdlib/string/base/replace-before-last/lib/main.js index 8e9eb0998183..2557ec28fffc 100644 --- a/lib/node_modules/@stdlib/string/base/replace-before-last/lib/main.js +++ b/lib/node_modules/@stdlib/string/base/replace-before-last/lib/main.js @@ -68,7 +68,7 @@ function replaceBeforeLast( str, search, replacement, fromIndex ) { } } idx = str.lastIndexOf( search, fromIndex ); - if ( str === '' || search === '' || replacement === '' || idx < 0 ) { + if ( str === '' || search === '' || idx < 0 ) { return str; } return replacement + str.substring( idx ); diff --git a/lib/node_modules/@stdlib/string/base/replace-before-last/test/test.js b/lib/node_modules/@stdlib/string/base/replace-before-last/test/test.js index 23857648a2a7..74ad659b8489 100644 --- a/lib/node_modules/@stdlib/string/base/replace-before-last/test/test.js +++ b/lib/node_modules/@stdlib/string/base/replace-before-last/test/test.js @@ -141,3 +141,16 @@ tape( 'the function returns the entire string if the search string is the empty t.end(); }); + +tape( 'the function replaces the substring before the last occurrence of a search string when replacement is the empty string', function test( t ) { + var expected; + var actual; + var str; + + str = 'beep boop baz'; + actual = replaceBeforeLast( str, 'p', '', str.length ); + expected = 'p baz'; + t.strictEqual( actual, expected, 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/string/base/replace-before/lib/main.js b/lib/node_modules/@stdlib/string/base/replace-before/lib/main.js index 03758630dc93..e8e77c5d6d38 100644 --- a/lib/node_modules/@stdlib/string/base/replace-before/lib/main.js +++ b/lib/node_modules/@stdlib/string/base/replace-before/lib/main.js @@ -53,7 +53,7 @@ function replaceBefore( str, search, replacement, fromIndex ) { return str; } idx = str.indexOf( search, fromIndex ); - if ( str === '' || search === '' || replacement === '' || idx < 0 ) { + if ( str === '' || search === '' || idx < 0 ) { return str; } return replacement + str.substring( idx ); diff --git a/lib/node_modules/@stdlib/string/base/replace-before/test/test.js b/lib/node_modules/@stdlib/string/base/replace-before/test/test.js index 6e2205dec1dd..c0a6580c3487 100644 --- a/lib/node_modules/@stdlib/string/base/replace-before/test/test.js +++ b/lib/node_modules/@stdlib/string/base/replace-before/test/test.js @@ -133,3 +133,14 @@ tape( 'the function returns the entire string if the search string is the empty t.end(); }); + +tape( 'the function replaces the substring before a search string when replacement is the empty string', function test( t ) { + var expected; + var actual; + + actual = replaceBefore( 'Hello World!', 'World', '', 0 ); + expected = 'World!'; + t.strictEqual( actual, expected, 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/string/replace-before/test/test.js b/lib/node_modules/@stdlib/string/replace-before/test/test.js index bc46f53562c3..1c605193bd51 100644 --- a/lib/node_modules/@stdlib/string/replace-before/test/test.js +++ b/lib/node_modules/@stdlib/string/replace-before/test/test.js @@ -176,3 +176,14 @@ tape( 'the function returns the entire string if the search string is the empty t.end(); }); + +tape( 'the function replaces the substring before a search string when replacement is the empty string', function test( t ) { + var expected; + var actual; + + actual = replaceBefore( 'Hello World!', 'World', '' ); + expected = 'World!'; + t.strictEqual( actual, expected, 'returns expected value' ); + + t.end(); +});