Merge pull request #523 from MaoShizhong/repeat-string-builtin

02_repeatString: Add test preventing use of `String.prototype.repeat`
This commit is contained in:
Josh Smith
2025-02-10 20:03:00 -07:00
committed by GitHub
2 changed files with 14 additions and 0 deletions
+7
View File
@@ -13,6 +13,13 @@ describe('repeatString', () => {
test.skip('repeats the string 0 times', () => {
expect(repeatString('bye', 0)).toEqual('');
});
test.skip('does not use the built-in String repeat method', () => {
/* Even though there is a built-in String repeat method,
in this exercise specifically, we want you to practise using loops */
jest.spyOn(String.prototype, 'repeat').mockName('Built-in String repeat method');
repeatString("don't use the built-in repeat method!", 1);
expect(String.prototype.repeat).not.toHaveBeenCalled();
});
test.skip('returns ERROR with negative numbers', () => {
expect(repeatString('goodbye', -1)).toEqual('ERROR');
});
@@ -13,6 +13,13 @@ describe('repeatString', () => {
test('repeats the string 0 times', () => {
expect(repeatString('bye', 0)).toEqual('');
});
test('does not use the built-in String repeat method', () => {
/* Even though there is a built-in String repeat method,
in this exercise specifically, we want you to practise using loops */
jest.spyOn(String.prototype, 'repeat').mockName('Built-in String repeat method');
repeatString("don't use the built-in repeat method!", 1);
expect(String.prototype.repeat).not.toHaveBeenCalled();
});
test('returns ERROR with negative numbers', () => {
expect(repeatString('goodbye', -1)).toEqual('ERROR');
});