diff --git a/09_palindromes/palindromes.js b/09_palindromes/palindromes.js index 8d21018..59a517a 100644 --- a/09_palindromes/palindromes.js +++ b/09_palindromes/palindromes.js @@ -1,6 +1,15 @@ -const palindromes = function () { +const palindromes = function (input) { + let validate =/[\W_]/g; + let newInput = input.toLowerCase().replace(validate, ""); + let reversedInput = newInput.split("").reverse().join(""); + if (reversedInput == newInput) { + return true; + }else{ + return false; + } + }; + -}; // Do not edit below this line module.exports = palindromes; diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js index 6e14ed1..016f0c9 100644 --- a/09_palindromes/palindromes.spec.js +++ b/09_palindromes/palindromes.spec.js @@ -1,22 +1,23 @@ + const palindromes = require('./palindromes') describe('palindromes', () => { test('works with single words', () => { expect(palindromes('racecar')).toBe(true); }); - test.skip('works with punctuation ', () => { + test('works with punctuation ', () => { expect(palindromes('racecar!')).toBe(true); }); - test.skip('works with upper-case letters ', () => { + test('works with upper-case letters ', () => { expect(palindromes('Racecar!')).toBe(true); }); - test.skip('works with multiple words', () => { + test('works with multiple words', () => { expect(palindromes('A car, a man, a maraca.')).toBe(true); }); - test.skip('works with multiple words', () => { + test('works with multiple words', () => { expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true); }); - test.skip('doesn\'t just always return true', () => { + test('doesn\'t just always return true', () => { expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false); }); });