[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[   ]test.js2025-03-12 09:01 3.5K 
[   ]package.json2025-03-12 09:01 685  
[   ]index.js2025-03-12 09:01 2.4K 
[TXT]README.md2025-03-12 09:01 2.2K 
[TXT]LICENSE.md2025-03-12 09:01 34K 
# 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
```