disabled suite should still call onStart callback

This commit is contained in:
Javen Wang
2014-04-12 00:35:47 +08:00
parent 00c8e37257
commit 7ad261837a
2 changed files with 13 additions and 4 deletions

View File

@@ -67,12 +67,17 @@ describe("Suite", function() {
expect(suite.afterFns).toEqual([innerAfter, outerAfter]);
});
it("can be disabled", function() {
it("can be disabled, but still calls callbacks", function() {
var env = new j$.Env(),
fakeQueueRunner = jasmine.createSpy('fake queue runner'),
onStart = jasmine.createSpy('onStart'),
resultCallback = jasmine.createSpy('resultCallback'),
onComplete = jasmine.createSpy('onComplete'),
suite = new j$.Suite({
env: env,
description: "with a child suite",
onStart: onStart,
resultCallback: resultCallback,
queueRunner: fakeQueueRunner
});
@@ -80,9 +85,12 @@ describe("Suite", function() {
expect(suite.disabled).toBe(true);
suite.execute();
suite.execute(onComplete);
expect(fakeQueueRunner).not.toHaveBeenCalled();
expect(onStart).toHaveBeenCalled();
expect(resultCallback).toHaveBeenCalled();
expect(onComplete).toHaveBeenCalled();
});
it("delegates execution of its specs and suites", function() {

View File

@@ -51,6 +51,9 @@ getJasmineRequireObj().Suite = function() {
Suite.prototype.execute = function(onComplete) {
var self = this;
this.onStart(this);
if (this.disabled) {
complete();
return;
@@ -62,8 +65,6 @@ getJasmineRequireObj().Suite = function() {
allFns.push(wrapChildAsAsync(this.children[i]));
}
this.onStart(this);
this.queueRunner({
fns: allFns,
onComplete: complete