Added tests
parent
ba339c587a
commit
1259b55154
@ -0,0 +1,93 @@
|
||||
'use strict'
|
||||
|
||||
const expect = require('chai').expect
|
||||
const froth = require('./index')
|
||||
|
||||
describe('Default settings', () => {
|
||||
|
||||
it('should return a 10-item array of strings with 20 characters or less by default', () => {
|
||||
const output = froth()
|
||||
expect(output).to.be.an('array').and.to.have.lengthOf(10)
|
||||
output.forEach( (item) => {
|
||||
expect(item).to.be.a('string').and.not.to.have.lengthOf.above(20)
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
describe('Changing number of strings and maximum length', () => {
|
||||
|
||||
it('should return a different number of strings', () => {
|
||||
// Generate a random number from 1 to 50
|
||||
const test_num = Math.floor(Math.random()*51)
|
||||
const output = froth(test_num)
|
||||
expect(output).to.be.an('array').and.to.have.lengthOf(test_num)
|
||||
output.forEach( (item) => {
|
||||
expect(item).to.be.a('string').and.not.to.have.lengthOf.above(20)
|
||||
})
|
||||
})
|
||||
|
||||
it('should return strings with a different maximum length', () => {
|
||||
// Generate a random number from 1 to 50
|
||||
const test_max = Math.floor(Math.random()*51)
|
||||
const output = froth(undefined, test_max)
|
||||
expect(output).to.be.an('array').and.to.have.lengthOf(10)
|
||||
output.forEach( (item) => {
|
||||
expect(item).to.be.a('string').and.not.to.have.lengthOf.above(test_max)
|
||||
})
|
||||
})
|
||||
|
||||
it('should return a different number of strings with a different maximum length', () => {
|
||||
// Generate two random number from 1 to 50
|
||||
const test_num = Math.floor(Math.random()*51)
|
||||
const test_max = Math.floor(Math.random()*51)
|
||||
const output = froth(test_num, test_max)
|
||||
expect(output).to.be.an('array').and.to.have.lengthOf(test_num)
|
||||
output.forEach( (item) => {
|
||||
expect(item).to.be.a('string').and.not.to.have.lengthOf.above(test_max)
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
describe('Changing options', () => {
|
||||
|
||||
it('should not return blank strings when \'none=false\' is specified', () => {
|
||||
const output = froth(100, 100, {none:false})
|
||||
expect(output).to.be.an('array').and.to.not.contain('')
|
||||
})
|
||||
|
||||
it('should not return whitespaces when \'whitespace=false\' is specified', () => {
|
||||
const output = froth(100, 100, {whitespace:false})
|
||||
expect(output).to.be.an('array').and.to.not.contain(' ',' ','\n','\r\n','\r')
|
||||
})
|
||||
|
||||
it('should not return quotations when \'quotes=false\' is specified', () => {
|
||||
const output = froth(100, 100, {quotes:false})
|
||||
expect(output).to.be.an('array').and.to.not.contain(
|
||||
'\'', '\'\'', '\'\'\'', '"', '""', '"""', '`', '``', '```'
|
||||
)
|
||||
})
|
||||
|
||||
it('should not return symbols when \'symbols=false\' is specified', () => {
|
||||
const output = froth(100, 100, {quotes:false})
|
||||
expect(output).to.be.an('array').and.to.not.contain(
|
||||
...'°~!@#$%€^&*()-_─=+[]{}|;:,./<>?¿¹²³¼½¬€¶←↓→»«¢„“”·…–'.split('')
|
||||
)
|
||||
})
|
||||
|
||||
it('should not return foreign characters when \'foreign=false\' is specified', () => {
|
||||
const output = froth(100, 100, {quotes:false})
|
||||
expect(output).to.be.an('array').and.to.not.contain(
|
||||
...'ŧłßöäüñáóíúýéâêîôûŷàèìòùảẻỉỏỷÿïøþłĸŋđðſæµёйцукенгшщзхъэждлорпавыфячсмитьбюЁЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮ'.split('')
|
||||
)
|
||||
})
|
||||
|
||||
it('should not return numbers or letters when \'alphanumeric=false\' is specified', () => {
|
||||
const output = froth(100, 100, {quotes:false})
|
||||
expect(output).to.be.an('array').and.to.not.contain(
|
||||
...'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'.split('')
|
||||
)
|
||||
})
|
||||
|
||||
})
|
Loading…
Reference in New Issue