From 15756b29dd0c5299fe446224fbdf51ed138b4867 Mon Sep 17 00:00:00 2001 From: marleyrae Date: Mon, 19 Jun 2023 17:06:09 -0700 Subject: [PATCH] Make 09 tests pass --- 09_palindromes/palindromes.js | 9 ++++-- 09_palindromes/palindromes.spec.js | 49 +++++++++++++++--------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/09_palindromes/palindromes.js b/09_palindromes/palindromes.js index 8d21018..377f5ef 100644 --- a/09_palindromes/palindromes.js +++ b/09_palindromes/palindromes.js @@ -1,6 +1,9 @@ -const palindromes = function () { +const palindromes = function (string) { + string = string.replace(/[^A-Za-z0-9]/g, '').toLowerCase() + const reversed = Array.from(string).reverse().reduce((res, cur) => res + cur) -}; + return string === reversed +} // Do not edit below this line -module.exports = palindromes; +module.exports = palindromes diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js index 90d53e4..bd49220 100644 --- a/09_palindromes/palindromes.spec.js +++ b/09_palindromes/palindromes.spec.js @@ -2,27 +2,28 @@ const palindromes = require('./palindromes') describe('palindromes', () => { test('works with single words', () => { - expect(palindromes('racecar')).toBe(true); - }); - test.skip('works with punctuation ', () => { - expect(palindromes('racecar!')).toBe(true); - }); - test.skip('works with upper-case letters ', () => { - expect(palindromes('Racecar!')).toBe(true); - }); - test.skip('works with multiple words', () => { - expect(palindromes('A car, a man, a maraca.')).toBe(true); - }); - test.skip('works with multiple words', () => { - expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true); - }); - test.skip('doesn\'t just always return true', () => { - expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false); - }); - test.skip('works with numbers in a string', () => { - expect(palindromes('rac3e3car')).toBe(true); - }); - test.skip('works with unevenly spaced numbers in a string', () => { - expect(palindromes('r3ace3car')).toBe(false); - }); -}); + expect(palindromes('racecar')).toBe(true) + }) + test('works with punctuation ', () => { + expect(palindromes('racecar!')).toBe(true) + }) + test('works with upper-case letters ', () => { + expect(palindromes('Racecar!')).toBe(true) + }) + test('works with multiple words', () => { + expect(palindromes('A car, a man, a maraca.')).toBe(true) + }) + test('works with multiple words', () => { + expect(palindromes('Animal loots foliated detail of stool lamina.')) + .toBe(true) + }) + test('doesn\'t just always return true', () => { + expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false) + }) + test('works with numbers in a string', () => { + expect(palindromes('rac3e3car')).toBe(true) + }) + test('works with unevenly spaced numbers in a string', () => { + expect(palindromes('r3ace3car')).toBe(false) + }) +})