Skip to content

Commit

Permalink
feat: support iit/ddescribe
Browse files Browse the repository at this point in the history
  • Loading branch information
vojtajina committed Feb 15, 2014
1 parent 2f9ac81 commit 07ddb36
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
40 changes: 40 additions & 0 deletions lib/boot.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,28 @@
*/
var env = jasmine.getEnv();

var focusedSuites = [];
var focusedSpecs = [];
var insideFocusedSuite = false;

var focuseSpec = function(env, description, body) {
var spec = env.it(description, body);
focusedSpecs.push(spec.id);
return spec;
};

var focuseSuite = function(env, description, body) {
if (insideFocusedSuite) {
return env.describe(description, body);
}

insideFocusedSuite = true;
var suite = env.describe(description, body);
insideFocusedSuite = false
focusedSuites.push(suite.id);
return suite;
};


/**
* Build up the functions that will be exposed as the Jasmine
Expand All @@ -32,6 +54,10 @@
return env.xdescribe(description, specDefinitions);
},

ddescribe: function(description, specDefinitions) {
return focuseSuite(env, description, specDefinitions);
},

it: function(desc, func) {
return env.it(desc, func);
},
Expand All @@ -40,6 +66,10 @@
return env.xit(desc, func);
},

iit: function(desc, func) {
return focuseSpec(env, desc, func);
},

beforeEach: function(beforeEachFunction) {
return env.beforeEach(beforeEachFunction);
},
Expand Down Expand Up @@ -78,6 +108,16 @@
}
}

env.executeFiltered = function() {
if (focusedSpecs.length) {
env.execute(focusedSpecs);
} else if (focusedSuites.length) {
env.execute(focusedSuites);
} else {
env.execute();
}
};


/**
* Expose the interface for adding custom equality testers.
Expand Down
2 changes: 1 addition & 1 deletion src/adapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,6 @@ var createStartFn = function(tc, jasmineEnvPassedIn) {
var jasmineEnv = jasmineEnvPassedIn || window.jasmine.getEnv();

jasmineEnv.addReporter(new KarmaReporter(tc, jasmineEnv));
jasmineEnv.execute();
jasmineEnv.executeFiltered();
};
};

0 comments on commit 07ddb36

Please sign in to comment.