123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 'use strict';
- var Runnable = require('./runnable');
- var utils = require('./utils');
- var errors = require('./errors');
- var createInvalidArgumentTypeError = errors.createInvalidArgumentTypeError;
- var isString = utils.isString;
- module.exports = Test;
- /**
- * Initialize a new `Test` with the given `title` and callback `fn`.
- *
- * @public
- * @class
- * @extends Runnable
- * @param {String} title - Test title (required)
- * @param {Function} [fn] - Test callback. If omitted, the Test is considered "pending"
- */
- function Test(title, fn) {
- if (!isString(title)) {
- throw createInvalidArgumentTypeError(
- 'Test argument "title" should be a string. Received type "' +
- typeof title +
- '"',
- 'title',
- 'string'
- );
- }
- Runnable.call(this, title, fn);
- this.pending = !fn;
- this.type = 'test';
- }
- /**
- * Inherit from `Runnable.prototype`.
- */
- utils.inherits(Test, Runnable);
- Test.prototype.clone = function() {
- var test = new Test(this.title, this.fn);
- test.timeout(this.timeout());
- test.slow(this.slow());
- test.enableTimeouts(this.enableTimeouts());
- test.retries(this.retries());
- test.currentRetry(this.currentRetry());
- test.globals(this.globals());
- test.parent = this.parent;
- test.file = this.file;
- test.ctx = this.ctx;
- return test;
- };
|