mocha-froth/README.md

77 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# mocha-froth
[![npm version](https://badge.fury.io/js/mocha-froth.svg)](https://www.npmjs.com/package/mocha-froth)
[![Travis Build Status](https://travis-ci.org/keith24/mocha-froth.svg?branch=master)](https://travis-ci.org/keith24/mocha-froth)
[![Coverage Status](https://coveralls.io/repos/github/keith24/mocha-froth/badge.svg?branch=master)](https://coveralls.io/github/keith24/mocha-froth?branch=master)
[![Snyk Vulnerabilities](https://snyk.io/test/github/keith24/mocha-froth/badge.svg?targetFile=package.json)](https://snyk.io/test/github/keith24/mocha-froth?targetFile=package.json)
Fuzzer for mocha testing. Or any javascript testing suite, really. This package provides a function that returns an array of random strings. You know, a [fuzzer](https://en.wikipedia.org/wiki/Fuzzer).
## Installation
```sh
npm install --save-dev mocha-froth
```
## Usage
Import froth into your project
```javascript
const froth = require('mocha-froth')
```
Use the syntax `froth(num, max, opt)`where:
* *num* is the number of strings generated
* *max* is the maximum string length
* *opt* is an object of options for characters to include
```javascript
opt = {
// Set to true to include tests with...
none: true, // Empty string
whitespace: true, // Various whitespace chars
quotes: true, // Combinations of quotes
backslashing: true, // Combinations of backslashes
symbols: true, // Various symbols
foreign: true, // Foreign chars
alphanumeric: true, // Ordinary letters and numbers
}
```
mocha-froth will return an array of strings you can use to test your code.
### Examples
Create ten random strings, each up to twenty characters (default):
```javascript
console.log( froth() )
// [ '``8\\ёðNàЧ,', 'µ', '\\,нcy', '?O¬ìè¶ſ\r4á%"Е~', '', 'ИôAàяjùgzH%хйf', 'd\r\nïЧо', '«&pcj→ъгPfЬа|h', 'ñgMſииe&?“3ьXî¢òдq<ц', 'Un5tĸ' ]
```
Create five strings up to ten characters:
```javascript
console.log( froth(5,10) )
// [ '¢m\'\'\'ý7\'', 'óé€с-', 'фяþnЭOо', '', 'ykUбáФ¿ŷ¢С' ]
```
Same as above, but without foreign characters:
```javascript
console.log( froth(5,10,{foreign:false}) )
// [ 'VP"""t¬mK²', '²L6)>\r\nV', 'v,→“', '*e8', '→' ]
```
## Testing
```sh
npm test
```