UNPKG

paulos-palindrome

Version:

__An NPM module sample.__ _Usage:_ ```javascript npm install paulos-palindrome let Phrase = require('paulos-palindrome') let string = new Phrase("Did I do, O God, did I as I said I’d do? Good! I did.") console.log(string.palindrome()) ```

42 lines (36 loc) 1.35 kB
let assert = require('assert') let Phrase = require('../index.js') describe('Phrase', function(){ describe('#palindrome', function(){ it('should return false for a non-palindrome', function(){ let nonPalindrome = new Phrase('apple') assert(!nonPalindrome.palindrome()) }) it('should return true for a palindrome', function(){ let palindrome = new Phrase('racecar') assert(palindrome.palindrome()) }) it("should return true for a mixed-case palindrome", function(){ let mixedCase = new Phrase('RaceCar') assert(mixedCase.palindrome()) }) it("should return true for a palindrome with punctuation", function(){ let punctuatedPalindrome = new Phrase("Madam, I'm Adam.") assert(punctuatedPalindrome.palindrome()) }) it('should return false for an empty string', function(){ let emptyPhrase = new Phrase('') assert(!emptyPhrase.palindrome()) }) }) describe('#letters', function(){ it('should return only letters', function(){ let punctuatedPalindrome = new Phrase("Madam, I'm Adam.") assert.strictEqual(punctuatedPalindrome.letters(), 'MadamImAdam') }) it('should return the empty string on no match', function(){ let noLetters = new Phrase("1234.56") assert.strictEqual(noLetters.letters(), '') }) }) })