aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/Describe.js
diff options
context:
space:
mode:
authorMisko Hevery2012-03-23 14:03:24 -0700
committerMisko Hevery2012-03-28 11:16:35 -0700
commit2430f52bb97fa9d682e5f028c977c5bf94c5ec38 (patch)
treee7529b741d70199f36d52090b430510bad07f233 /src/scenario/Describe.js
parent944098a4e0f753f06b40c73ca3e79991cec6c2e2 (diff)
downloadangular.js-2430f52bb97fa9d682e5f028c977c5bf94c5ec38.tar.bz2
chore(module): move files around in preparation for more modules
Diffstat (limited to 'src/scenario/Describe.js')
-rw-r--r--src/scenario/Describe.js155
1 files changed, 0 insertions, 155 deletions
diff --git a/src/scenario/Describe.js b/src/scenario/Describe.js
deleted file mode 100644
index 4d52e9d5..00000000
--- a/src/scenario/Describe.js
+++ /dev/null
@@ -1,155 +0,0 @@
-'use strict';
-
-/**
- * The representation of define blocks. Don't used directly, instead use
- * define() in your tests.
- *
- * @param {string} descName Name of the block
- * @param {Object} parent describe or undefined if the root.
- */
-angular.scenario.Describe = function(descName, parent) {
- this.only = parent && parent.only;
- this.beforeEachFns = [];
- this.afterEachFns = [];
- this.its = [];
- this.children = [];
- this.name = descName;
- this.parent = parent;
- this.id = angular.scenario.Describe.id++;
-
- /**
- * Calls all before functions.
- */
- var beforeEachFns = this.beforeEachFns;
- this.setupBefore = function() {
- if (parent) parent.setupBefore.call(this);
- angular.forEach(beforeEachFns, function(fn) { fn.call(this); }, this);
- };
-
- /**
- * Calls all after functions.
- */
- var afterEachFns = this.afterEachFns;
- this.setupAfter = function() {
- angular.forEach(afterEachFns, function(fn) { fn.call(this); }, this);
- if (parent) parent.setupAfter.call(this);
- };
-};
-
-// Shared Unique ID generator for every describe block
-angular.scenario.Describe.id = 0;
-
-// Shared Unique ID generator for every it (spec)
-angular.scenario.Describe.specId = 0;
-
-/**
- * Defines a block to execute before each it or nested describe.
- *
- * @param {function()} body Body of the block.
- */
-angular.scenario.Describe.prototype.beforeEach = function(body) {
- this.beforeEachFns.push(body);
-};
-
-/**
- * Defines a block to execute after each it or nested describe.
- *
- * @param {function()} body Body of the block.
- */
-angular.scenario.Describe.prototype.afterEach = function(body) {
- this.afterEachFns.push(body);
-};
-
-/**
- * Creates a new describe block that's a child of this one.
- *
- * @param {string} name Name of the block. Appended to the parent block's name.
- * @param {function()} body Body of the block.
- */
-angular.scenario.Describe.prototype.describe = function(name, body) {
- var child = new angular.scenario.Describe(name, this);
- this.children.push(child);
- body.call(child);
-};
-
-/**
- * Same as describe() but makes ddescribe blocks the only to run.
- *
- * @param {string} name Name of the test.
- * @param {function()} body Body of the block.
- */
-angular.scenario.Describe.prototype.ddescribe = function(name, body) {
- var child = new angular.scenario.Describe(name, this);
- child.only = true;
- this.children.push(child);
- body.call(child);
-};
-
-/**
- * Use to disable a describe block.
- */
-angular.scenario.Describe.prototype.xdescribe = angular.noop;
-
-/**
- * Defines a test.
- *
- * @param {string} name Name of the test.
- * @param {function()} vody Body of the block.
- */
-angular.scenario.Describe.prototype.it = function(name, body) {
- this.its.push({
- id: angular.scenario.Describe.specId++,
- definition: this,
- only: this.only,
- name: name,
- before: this.setupBefore,
- body: body,
- after: this.setupAfter
- });
-};
-
-/**
- * Same as it() but makes iit tests the only test to run.
- *
- * @param {string} name Name of the test.
- * @param {function()} body Body of the block.
- */
-angular.scenario.Describe.prototype.iit = function(name, body) {
- this.it.apply(this, arguments);
- this.its[this.its.length-1].only = true;
-};
-
-/**
- * Use to disable a test block.
- */
-angular.scenario.Describe.prototype.xit = angular.noop;
-
-/**
- * Gets an array of functions representing all the tests (recursively).
- * that can be executed with SpecRunner's.
- *
- * @return {Array<Object>} Array of it blocks {
- * definition : Object // parent Describe
- * only: boolean
- * name: string
- * before: Function
- * body: Function
- * after: Function
- * }
- */
-angular.scenario.Describe.prototype.getSpecs = function() {
- var specs = arguments[0] || [];
- angular.forEach(this.children, function(child) {
- child.getSpecs(specs);
- });
- angular.forEach(this.its, function(it) {
- specs.push(it);
- });
- var only = [];
- angular.forEach(specs, function(it) {
- if (it.only) {
- only.push(it);
- }
- });
- return (only.length && only) || specs;
-};