specify-core
Version:
Describe, structure and runs tests for the Specify framework.
224 lines • 12.2 kB
JavaScript
var Future = require('data.future');
var delay = require('control.async')(Future).delay;
var alright = require('alright');
var specify = require('specify-core');
var _ = alright;
module.exports = function (specify$2) {
var _scope = {
specify: specify$2,
tests: [],
beforeAll: [],
afterAll: [],
beforeEach: [],
afterEach: []
};
(function () {
var _scope$2 = {
specify: _scope.specify,
tests: [],
beforeAll: [],
afterAll: [],
beforeEach: [],
afterEach: []
};
(function () {
var _scope$3 = {
specify: _scope$2.specify,
tests: [],
beforeAll: [],
afterAll: [],
beforeEach: [],
afterEach: []
};
_scope$3.tests.push(_scope$3.specify.Test.Case.create({
name: 'Should return an empty report.',
timeout: new _scope$3.specify._Maybe.Nothing(),
slow: new _scope$3.specify._Maybe.Nothing(),
enabled: new _scope$3.specify._Maybe.Nothing(),
test: new _scope$3.specify._Future(function (reject, resolve) {
try {
(function () {
var report = specify.Report.empty();
(function (alright$2) {
return alright$2.verify(report.started)(_.haveClass('Date'));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(report.finished)(_.haveClass('Date'));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(report.passed)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(report.failed)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(report.ignored)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
}());
resolve();
} catch (e) {
reject(e);
}
})
}));
_scope$2.tests.push(_scope$2.specify.Test.Suite.create({
name: '.empty()',
tests: _scope$3.tests,
beforeAll: _scope$2.specify.Hook(_scope$3.beforeAll),
beforeEach: _scope$2.specify.Hook(_scope$3.beforeEach),
afterAll: _scope$2.specify.Hook(_scope$3.afterAll),
afterEach: _scope$2.specify.Hook(_scope$3.afterEach)
}));
}());
(function () {
var _scope$3 = {
specify: _scope$2.specify,
tests: [],
beforeAll: [],
afterAll: [],
beforeEach: [],
afterEach: []
};
_scope$3.tests.push(_scope$3.specify.Test.Case.create({
name: 'Should update the date.',
timeout: new _scope$3.specify._Maybe.Nothing(),
slow: new _scope$3.specify._Maybe.Nothing(),
enabled: new _scope$3.specify._Maybe.Nothing(),
test: function () {
var r1 = specify.Report.empty();
return function (alright$2) {
return alright$2.verifyFuture(delay(200).map(function () {
var r2 = r1.add(specify.Result.Ignored([]));
return r2.finished > r1.finished;
}))(_.ok);
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright);
}()
}));
_scope$3.tests.push(_scope$3.specify.Test.Case.create({
name: 'Given a `Success`, should add to .passed.',
timeout: new _scope$3.specify._Maybe.Nothing(),
slow: new _scope$3.specify._Maybe.Nothing(),
enabled: new _scope$3.specify._Maybe.Nothing(),
test: new _scope$3.specify._Future(function (reject, resolve) {
try {
(function () {
var r1 = specify.Report.empty();
var s1 = Object.create(specify.Result.Success.prototype);
var r2 = r1.add(s1);
(function (alright$2) {
return alright$2.verify(r2.passed)(alright$2.equal([s1]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(r2.failed)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(r2.ignored)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
}());
resolve();
} catch (e) {
reject(e);
}
})
}));
_scope$3.tests.push(_scope$3.specify.Test.Case.create({
name: 'Given a `Failure`, should add to .failed.',
timeout: new _scope$3.specify._Maybe.Nothing(),
slow: new _scope$3.specify._Maybe.Nothing(),
enabled: new _scope$3.specify._Maybe.Nothing(),
test: new _scope$3.specify._Future(function (reject, resolve) {
try {
(function () {
var r1 = specify.Report.empty();
var f1 = Object.create(specify.Result.Failure.prototype);
var r2 = r1.add(f1);
(function (alright$2) {
return alright$2.verify(r2.passed)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(r2.failed)(alright$2.equal([f1]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(r2.ignored)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
}());
resolve();
} catch (e) {
reject(e);
}
})
}));
_scope$3.tests.push(_scope$3.specify.Test.Case.create({
name: 'Given an `Ignored`, should add to .ignored.',
timeout: new _scope$3.specify._Maybe.Nothing(),
slow: new _scope$3.specify._Maybe.Nothing(),
enabled: new _scope$3.specify._Maybe.Nothing(),
test: new _scope$3.specify._Future(function (reject, resolve) {
try {
(function () {
var r1 = specify.Report.empty();
var i1 = Object.create(specify.Result.Ignored.prototype);
var r2 = r1.add(i1);
(function (alright$2) {
return alright$2.verify(r2.passed)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(r2.failed)(alright$2.equal([]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
(function (alright$2) {
return alright$2.verify(r2.ignored)(alright$2.equal([i1]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
}());
resolve();
} catch (e) {
reject(e);
}
})
}));
_scope$3.tests.push(_scope$3.specify.Test.Case.create({
name: 'Given `Ignored`, `Success` and `Failure`, .all() should contain all results',
timeout: new _scope$3.specify._Maybe.Nothing(),
slow: new _scope$3.specify._Maybe.Nothing(),
enabled: new _scope$3.specify._Maybe.Nothing(),
test: new _scope$3.specify._Future(function (reject, resolve) {
try {
(function () {
var r1 = specify.Report.empty();
var ignored = Object.create(specify.Result.Ignored.prototype);
var success = Object.create(specify.Result.Success.prototype);
var failure = Object.create(specify.Result.Failure.prototype);
var r2 = r1.add(ignored).add(success).add(failure);
(function (alright$2) {
return alright$2.verify(r2.all())(alright$2.equal([
ignored,
success,
failure
]));
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('alright') : window.alright));
}());
resolve();
} catch (e) {
reject(e);
}
})
}));
_scope$2.tests.push(_scope$2.specify.Test.Suite.create({
name: '#add(a)',
tests: _scope$3.tests,
beforeAll: _scope$2.specify.Hook(_scope$3.beforeAll),
beforeEach: _scope$2.specify.Hook(_scope$3.beforeEach),
afterAll: _scope$2.specify.Hook(_scope$3.afterAll),
afterEach: _scope$2.specify.Hook(_scope$3.afterEach)
}));
}());
_scope.tests.push(_scope.specify.Test.Suite.create({
name: 'Report',
tests: _scope$2.tests,
beforeAll: _scope.specify.Hook(_scope$2.beforeAll),
beforeEach: _scope.specify.Hook(_scope$2.beforeEach),
afterAll: _scope.specify.Hook(_scope$2.afterAll),
afterEach: _scope.specify.Hook(_scope$2.afterEach)
}));
}());
return _scope.tests[0];
}(typeof module !== 'undefined' && typeof require !== 'undefined' ? require('specify-core') : window.Specify.core);