committed by
Greg Cobb and Tim Jarratt
parent
b984ff2fa6
commit
980509cd7b
@@ -228,6 +228,144 @@ describe("jasmine spec running", function () {
|
|||||||
env.execute();
|
env.execute();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should run beforeAlls before beforeEachs and afterAlls after afterEachs', function() {
|
||||||
|
var actions = [];
|
||||||
|
|
||||||
|
env.beforeAll(function() {
|
||||||
|
actions.push('runner beforeAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterAll(function() {
|
||||||
|
actions.push('runner afterAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.beforeEach(function () {
|
||||||
|
actions.push('runner beforeEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterEach(function () {
|
||||||
|
actions.push('runner afterEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.describe('Something', function() {
|
||||||
|
env.beforeEach(function() {
|
||||||
|
actions.push('inner beforeEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterEach(function() {
|
||||||
|
actions.push('inner afterEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.beforeAll(function() {
|
||||||
|
actions.push('inner beforeAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterAll(function() {
|
||||||
|
actions.push('inner afterAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.it('does something or other', function() {
|
||||||
|
actions.push('it');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var assertions = function() {
|
||||||
|
var expected = [
|
||||||
|
"runner beforeAll",
|
||||||
|
"inner beforeAll",
|
||||||
|
"runner beforeEach",
|
||||||
|
"inner beforeEach",
|
||||||
|
"it",
|
||||||
|
"inner afterEach",
|
||||||
|
"runner afterEach",
|
||||||
|
"inner afterAll",
|
||||||
|
"runner afterAll"
|
||||||
|
];
|
||||||
|
expect(actions).toEqual(expected);
|
||||||
|
done();
|
||||||
|
};
|
||||||
|
|
||||||
|
env.addReporter({jasmineDone: assertions});
|
||||||
|
env.execute();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should run beforeAlls and afterAlls as beforeEachs and afterEachs in the order declared when runnablesToRun is provided', function() {
|
||||||
|
var actions = [],
|
||||||
|
spec,
|
||||||
|
spec2;
|
||||||
|
|
||||||
|
env.beforeAll(function() {
|
||||||
|
actions.push('runner beforeAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterAll(function() {
|
||||||
|
actions.push('runner afterAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.beforeEach(function () {
|
||||||
|
actions.push('runner beforeEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterEach(function () {
|
||||||
|
actions.push('runner afterEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.describe('Something', function() {
|
||||||
|
env.beforeEach(function() {
|
||||||
|
actions.push('inner beforeEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterEach(function() {
|
||||||
|
actions.push('inner afterEach');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.beforeAll(function() {
|
||||||
|
actions.push('inner beforeAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
env.afterAll(function() {
|
||||||
|
actions.push('inner afterAll');
|
||||||
|
});
|
||||||
|
|
||||||
|
spec = env.it('does something', function() {
|
||||||
|
actions.push('it');
|
||||||
|
});
|
||||||
|
|
||||||
|
spec2 = env.it('does something or other', function() {
|
||||||
|
actions.push('it2');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var assertions = function() {
|
||||||
|
var expected = [
|
||||||
|
"runner beforeAll",
|
||||||
|
"inner beforeAll",
|
||||||
|
"runner beforeEach",
|
||||||
|
"inner beforeEach",
|
||||||
|
"it",
|
||||||
|
"inner afterEach",
|
||||||
|
"runner afterEach",
|
||||||
|
"inner afterAll",
|
||||||
|
"runner afterAll",
|
||||||
|
|
||||||
|
"runner beforeAll",
|
||||||
|
"inner beforeAll",
|
||||||
|
"runner beforeEach",
|
||||||
|
"inner beforeEach",
|
||||||
|
"it2",
|
||||||
|
"inner afterEach",
|
||||||
|
"runner afterEach",
|
||||||
|
"inner afterAll",
|
||||||
|
"runner afterAll"
|
||||||
|
];
|
||||||
|
expect(actions).toEqual(expected);
|
||||||
|
done();
|
||||||
|
};
|
||||||
|
|
||||||
|
env.addReporter({jasmineDone: assertions});
|
||||||
|
env.execute([spec.id, spec2.id]);
|
||||||
|
});
|
||||||
|
|
||||||
it("shouldn't run disabled suites", function(done) {
|
it("shouldn't run disabled suites", function(done) {
|
||||||
var specInADisabledSuite = jasmine.createSpy("specInADisabledSuite"),
|
var specInADisabledSuite = jasmine.createSpy("specInADisabledSuite"),
|
||||||
suite = env.describe('A Suite', function() {
|
suite = env.describe('A Suite', function() {
|
||||||
|
|||||||
@@ -103,20 +103,25 @@ getJasmineRequireObj().Env = function(j$) {
|
|||||||
|
|
||||||
var beforeAndAfterFns = function(suite, runnablesExplictlySet) {
|
var beforeAndAfterFns = function(suite, runnablesExplictlySet) {
|
||||||
return function() {
|
return function() {
|
||||||
var befores = [];
|
var befores = [],
|
||||||
var afters = [];
|
afters = [],
|
||||||
|
beforeAlls = [],
|
||||||
|
afterAlls = [];
|
||||||
|
|
||||||
while(suite) {
|
while(suite) {
|
||||||
if (runnablesExplictlySet()) {
|
|
||||||
befores = befores.concat(suite.beforeAllFns);
|
|
||||||
afters = afters.concat(suite.afterAllFns);
|
|
||||||
}
|
|
||||||
befores = befores.concat(suite.beforeFns);
|
befores = befores.concat(suite.beforeFns);
|
||||||
afters = afters.concat(suite.afterFns);
|
afters = afters.concat(suite.afterFns);
|
||||||
|
|
||||||
|
if (runnablesExplictlySet()) {
|
||||||
|
beforeAlls = beforeAlls.concat(suite.beforeAllFns);
|
||||||
|
afterAlls = afterAlls.concat(suite.afterAllFns);
|
||||||
|
}
|
||||||
|
|
||||||
suite = suite.parentSuite;
|
suite = suite.parentSuite;
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
befores: befores.reverse(),
|
befores: beforeAlls.reverse().concat(befores.reverse()),
|
||||||
afters: afters
|
afters: afters.concat(afterAlls)
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user