Repository URL to install this package:
|
Version:
1.2.1 ▾
|
"use strict";
var _ava = _interopRequireDefault(require("ava"));
var _Plugin = _interopRequireDefault(require("../src/Plugin"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
let StringifyPlugin = class StringifyPlugin {
constructor(...args) {
this.values = args;
}
apply() {
return JSON.stringify(this.values);
}
};
(0, _ava.default)('is Chainable', t => {
const parent = {
parent: true
};
const plugin = new _Plugin.default(parent);
t.is(plugin.end(), parent);
});
(0, _ava.default)('use', t => {
const plugin = new _Plugin.default();
const instance = plugin.use(StringifyPlugin, ['alpha', 'beta']);
t.is(instance, plugin);
t.is(plugin.get('plugin'), StringifyPlugin);
t.deepEqual(plugin.get('args'), ['alpha', 'beta']);
});
(0, _ava.default)('tap', t => {
const plugin = new _Plugin.default();
plugin.use(StringifyPlugin, ['alpha', 'beta']);
const instance = plugin.tap(args => ['gamma', 'delta']);
t.is(instance, plugin);
t.deepEqual(plugin.get('args'), ['gamma', 'delta']);
});
(0, _ava.default)('init', t => {
const plugin = new _Plugin.default();
plugin.use(StringifyPlugin);
const instance = plugin.init((Plugin, args) => {
t.deepEqual(args, []);
return new Plugin('gamma', 'delta');
});
const initialized = plugin.get('init')(plugin.get('plugin'), plugin.get('args'));
t.is(instance, plugin);
t.true(initialized instanceof StringifyPlugin);
t.deepEqual(initialized.values, ['gamma', 'delta']);
});
(0, _ava.default)('toConfig', t => {
const plugin = new _Plugin.default();
plugin.use(StringifyPlugin);
const initialized = plugin.toConfig();
t.true(initialized instanceof StringifyPlugin);
t.deepEqual(initialized.values, []);
});