Вход Регистрация
Файл: error-kitty/node_modules/mocha/lib/interfaces/bdd.js
Строк: 136
<?php
/**
 * Module dependencies.
 */

var Suite = require('../suite')
  , 
Test = require('../test')
  , 
utils = require('../utils');

/**
 * BDD-style interface:
 *
 *      describe('Array', function(){
 *        describe('#indexOf()', function(){
 *          it('should return -1 when not present', function(){
 *
 *          });
 *
 *          it('should return the index when present', function(){
 *
 *          });
 *        });
 *      });
 *
 */

module.exports = function(suite){
  var 
suites = [suite];

  
suite.on('pre-require', function(context, file, mocha){

    
/**
     * Execute before running tests.
     */

    
context.before = function(name, fn){
      
suites[0].beforeAll(name, fn);
    };

    
/**
     * Execute after running tests.
     */

    
context.after = function(name, fn){
      
suites[0].afterAll(name, fn);
    };

    
/**
     * Execute before each test case.
     */

    
context.beforeEach = function(name, fn){
      
suites[0].beforeEach(name, fn);
    };

    
/**
     * Execute after each test case.
     */

    
context.afterEach = function(name, fn){
      
suites[0].afterEach(name, fn);
    };

    
/**
     * Describe a "suite" with the given `title`
     * and callback `fn` containing nested suites
     * and/or tests.
     */

    
context.describe = context.context = function(title, fn){
      var 
suite = Suite.create(suites[0], title);
      
suite.file = file;
      
suites.unshift(suite);
      
fn.call(suite);
      
suites.shift();
      return 
suite;
    };

    
/**
     * Pending describe.
     */

    
context.xdescribe =
    
context.xcontext =
    
context.describe.skip = function(title, fn){
      var 
suite = Suite.create(suites[0], title);
      
suite.pending = true;
      
suites.unshift(suite);
      
fn.call(suite);
      
suites.shift();
    };

    
/**
     * Exclusive suite.
     */

    
context.describe.only = function(title, fn){
      var 
suite = context.describe(title, fn);
      
mocha.grep(suite.fullTitle());
      return 
suite;
    };

    
/**
     * Describe a specification or test-case
     * with the given `title` and callback `fn`
     * acting as a thunk.
     */

    
context.it = context.specify = function(title, fn){
      var 
suite = suites[0];
      if (
suite.pending) var fn = null;
      var 
test = new Test(title, fn);
      
test.file = file;
      
suite.addTest(test);
      return 
test;
    };

    
/**
     * Exclusive test-case.
     */

    
context.it.only = function(title, fn){
      var 
test = context.it(title, fn);
      var 
reString = '^' + utils.escapeRegexp(test.fullTitle()) + '$';
      
mocha.grep(new RegExp(reString));
      return 
test;
    };

    
/**
     * Pending test case.
     */

    
context.xit =
    
context.xspecify =
    
context.it.skip = function(title){
      
context.it(title);
    };
  });
};
?>
Онлайн: 1
Реклама