| 'use strict'; |
| |
| var Runnable = require('./runnable'); |
| var inherits = require('./utils').inherits; |
| |
| /** |
| * Expose `Hook`. |
| */ |
| |
| module.exports = Hook; |
| |
| /** |
| * Initialize a new `Hook` with the given `title` and callback `fn` |
| * |
| * @class |
| * @extends Runnable |
| * @param {String} title |
| * @param {Function} fn |
| */ |
| function Hook(title, fn) { |
| Runnable.call(this, title, fn); |
| this.type = 'hook'; |
| } |
| |
| /** |
| * Inherit from `Runnable.prototype`. |
| */ |
| inherits(Hook, Runnable); |
| |
| /** |
| * Get or set the test `err`. |
| * |
| * @memberof Hook |
| * @public |
| * @param {Error} err |
| * @return {Error} |
| */ |
| Hook.prototype.error = function(err) { |
| if (!arguments.length) { |
| err = this._error; |
| this._error = null; |
| return err; |
| } |
| |
| this._error = err; |
| }; |