UNPKG

jsf-mock

Version:

Mock implementation for jsf.js

44 lines (27 loc) 2.17 kB
# jsf.mock.js [![Build Status](https://travis-ci.org/valotas/jsf.mock.js.svg?branch=master)](https://travis-ci.org/valotas/jsf.mock.js) When it comes to TDD, `jsf.js` needs to be mocked somehow. ## Quickstart Just include `jsf.mock.js` and you are good to go. Mocked methods: - `jsf.ajax.addOnEvent` adds the given function as a normal event handler to a local array - `jsf.ajax.addOnError` adds the given function as an error handler to the local array Helper methods: - `jsf.ajax.fire([type], eventData, [name])` fires an event with the given data. If no `type` is provided, only the non error handlers will be used. If `type === 'error'` only the error handlers will be used. Finally if a `name` is provided handlers will be filtered based on their name. - `jsf.ajax.hadlersSize([query])` returns the size of the available non error handlers if no `query` is given. If `error` is given as a query then returns the number of the error handlers. In any other case it returns the handlers with a `name` equal to the given query. - `jsf.ajax.clearHandlers([query])` clears all the existing non error handlers available. If `query === error` it clears the error handlers. In any other case it clears the handlers with a `name` equal to the given query. Here is an exaple of how to use it ```js var errorHandler = function () {}; jsf.ajax.addOnEvent(function () {}); jsf.ajax.addOnError(errorHandler); jsf.ajax.addOnError(function anotherErrorHandler() {}); jsf.ajax.fire({}); //only the anonymous handler will be used jsf.ajax.fire('error', {}); //only the error handlers will be used jsf.ajax.fire('error', {}, 'anotherErrorHandler'); // only the anotherErrorHandler will be used ``` ## Developing Assuming that you have node installed, you can `gulp tdd` in order to watch for file changes and run the tests. Before you commit make sure you run the default `gulp` task. Finally you can use gulp to to a release with `gulp release [--major|minor]`. If no major or minor will be given the version will get bumped as a patch. ## References - The [jsf.js api][jsf-js-doc] [jsf-js-doc]: https://javaserverfaces.java.net/docs/2.0/jsdocs/symbols/jsf.ajax.html