Skip to content

Commit

Permalink
Use compilers with requires
Browse files Browse the repository at this point in the history
  • Loading branch information
mal committed Jun 25, 2013
1 parent 042d713 commit fecad63
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 2 deletions.
12 changes: 11 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ lib-cov:

test: test-unit

test-all: test-bdd test-tdd test-qunit test-exports test-unit test-grep test-jsapi test-compilers test-glob
test-all: test-bdd test-tdd test-qunit test-exports test-unit test-grep test-jsapi test-compilers test-glob test-requires

test-jsapi:
@node test/jsapi
Expand All @@ -51,6 +51,16 @@ test-compilers:
test/acceptance/test.coffee \
test/acceptance/test.foo

test-requires:
@./bin/mocha \
--reporter $(REPORTER) \
--compilers coffee:coffee-script \
--require test/acceptance/require/a.js \
--require test/acceptance/require/b.coffee \
--require test/acceptance/require/c.js \
--require test/acceptance/require/d.coffee \
test/acceptance/require/require.js

test-bdd:
@./bin/mocha \
--reporter $(REPORTER) \
Expand Down
14 changes: 13 additions & 1 deletion bin/_mocha
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ var files = [];

var globals = [];

/**
* Requires.
*/

var requires = [];

/**
* Images.
*/
Expand Down Expand Up @@ -148,7 +154,7 @@ module.paths.push(cwd, join(cwd, 'node_modules'));
program.on('require', function(mod){
var abs = exists(mod) || exists(mod + '.js');
if (abs) mod = resolve(mod);
require(mod);
requires.push(mod);
});

// mocha.opts support
Expand Down Expand Up @@ -255,6 +261,12 @@ program.compilers.forEach(function(c) {

var re = new RegExp('\\.(' + extensions.join('|') + ')$');

// requires

requires.forEach(function(mod) {
require(mod);
});

// files

var files = []
Expand Down
2 changes: 2 additions & 0 deletions test/acceptance/require/a.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
global.required = (global.required || [])
global.required.push('a.js')
2 changes: 2 additions & 0 deletions test/acceptance/require/b.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
global.required ?= []
global.required.push 'b.coffee'
2 changes: 2 additions & 0 deletions test/acceptance/require/c.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
global.required = (global.required || [])
global.required.push('c.js')
2 changes: 2 additions & 0 deletions test/acceptance/require/d.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
global.required ?= []
global.required.push 'd.coffee'
10 changes: 10 additions & 0 deletions test/acceptance/require/require.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

describe('require test', function(){
it('should require args in order', function(){
var req = global.required;
req.indexOf('a.js').should.equal(0);
req.indexOf('b.coffee').should.equal(1);
req.indexOf('c.js').should.equal(2);
req.indexOf('d.coffee').should.equal(3);
})
});

0 comments on commit fecad63

Please sign in to comment.