https://github.com/fengb/chai-eventemitter
https://github.com/fengb/chai-eventemitter
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fengb/chai-eventemitter
- Owner: fengb
- License: mit
- Created: 2015-06-06T05:06:04.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-01-05T05:19:07.000Z (over 10 years ago)
- Last Synced: 2025-09-01T11:57:16.910Z (9 months ago)
- Language: JavaScript
- Size: 11.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# chai-eventemitter [![NPM Version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]
This is a plugin for [chai](http://chaijs.com) to simplify the testing of
EventEmitter.
EventEmitters can be testing using spies, but they are rather heavyweight for
most usecases:
```javascript
var spy = sinon.spy()
ee.on('test', spy)
ee.emit('test')
expect(spy).to.have.been.called()
spy.reset()
ee.emit('test', args)
expect(spy).to.have.been.calledWith(args)
```
`chai-eventemitter` replaces this with something much more digestable:
```javascript
expect(function(){ ee.emit('test') }).to.emitFrom(ee, 'test')
expect(function(){ ee.emit('test', arg) }).to.emitFrom(ee, 'test', arg)
```
## Setup
### node.js / io.js
```javascript
var chai = require('chai')
chai.use(require('chai-eventemitter'))
```
### Browser
```html
```
# License
`chai-eventemitter` is released under the [MIT License](https://github.com/fengb/chai-eventemitter/blob/master/LICENSE)
[npm-image]: https://img.shields.io/npm/v/chai-eventemitter.svg?style=flat
[npm-url]: https://npmjs.org/package/chai-eventemitter
[travis-image]: https://img.shields.io/travis/fengb/chai-eventemitter.svg?style=flat
[travis-url]: https://travis-ci.org/fengb/chai-eventemitter