diff --git a/palindromes/palindromes.js b/palindromes/palindromes.js index 49ee89b..1800510 100644 --- a/palindromes/palindromes.js +++ b/palindromes/palindromes.js @@ -1,5 +1,5 @@ const palindromes = function(word) { - const wordArr = word.split(''); + const wordArr = word.replace(/\W/g, '').toLowerCase().split(''); const reversedArray = wordArr.reverse(); newArray = []; @@ -8,10 +8,10 @@ const palindromes = function(word) { if (wordArr[i] === reversedArray[i]) { newArray.push(wordArr[i]) } else { - newArray = ['Not a palindrome']; + break; } } - return true ? newArray.join('') === word : false; + return true ? newArray.join('') === word.replace(/\W/g, '').toLowerCase() : false; } module.exports = palindromes diff --git a/palindromes/palindromes.spec.js b/palindromes/palindromes.spec.js index 1b24286..4a4b820 100644 --- a/palindromes/palindromes.spec.js +++ b/palindromes/palindromes.spec.js @@ -4,17 +4,20 @@ describe('palindromes', function() { it('works with single words', function() { expect(palindromes('racecar')).toEqual(true); }); - xit('works with punctuation', function() { + + it('works with punctuation', function() { expect(palindromes('Racecar!')).toEqual(true); }); - xit('works with multiple words', function() { + + it('works with multiple words', function() { expect(palindromes('A car, a man, a maraca.')).toEqual(true); }); - xit('works with multiple words', function() { + + it('works with lots of words', function() { expect(palindromes('Animal loots foliated detail of stool lamina.')).toEqual(true); }); - xit('doesn\'t just always return true', function() { + + it('doesn\'t just always return true', function() { expect(palindromes('ZZZZ car, a man, a maraca.')).toEqual(false); }); - });