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
JavaScript
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(), '')
})
})
})