tdd$1 = function tdd(suite) {
	  var suites = [suite];
	  suite.on(EVENT_FILE_PRE_REQUIRE$1, function (context, file, mocha) {
	    var common$1 = common(suites, context, mocha);
	    context.setup = common$1.beforeEach;
	    context.teardown = common$1.afterEach;
	    context.suiteSetup = common$1.before;
	    context.suiteTeardown = common$1.after;
	    context.run = mocha.options.delay && common$1.runWithSuite(suite);
	    /**
	     * Describe a "suite" with the given `title` and callback `fn` containing
	     * nested suites and/or tests.
	     */

	    context.suite = function (title, fn) {
	      return common$1.suite.create({
	        title: title,
	        file: file,
	        fn: fn
	      });
	    };
	    /**
	     * Pending suite.
	     */


	    context.suite.skip = function (title, fn) {
	      return common$1.suite.skip({
	        title: title,
	        file: file,
	        fn: fn
	      });
	    };
	    /**
	     * Exclusive test-case.
	     */


	    context.suite.only = function (title, fn) {
	      return common$1.suite.only({
	        title: title,
	        file: file,
	        fn: fn
	      });
	    };
	    /**
	     * Describe a specification or test-case with the given `title` and
	     * callback `fn` acting as a thunk.
	     */


	    context.test = function (title, fn) {
	      var suite = suites[0];

	      if (suite.isPending()) {
	        fn = null;
	      }

	      var test$1 = new test(title, fn);
	      test$1.file = file;
	      suite.addTest(test$1);
	      return test$1;
	    };
	    /**
	     * Exclusive test-case.
	     */


	    context.test.only = function (title, fn) {
	      return common$1.test.only(mocha, context.test(title, fn));
	    };

	    context.test.skip = common$1.test.skip;
	  });
	}
TDD-style interface:

     suite('Array', function() {
       suite('#indexOf()', function() {
         suiteSetup(function() {

         });

         test('should return -1 when not present', function() {

         });

         test('should return the index when present', function() {

         });

         suiteTeardown(function() {

         });
       });
     });

@param {Suite} suite Root suite.