36 lines
1 KiB
JavaScript
36 lines
1 KiB
JavaScript
/* global describe, it */
|
|
|
|
var requireMainFilename = require('./')
|
|
|
|
require('tap').mochaGlobals()
|
|
require('chai').should()
|
|
|
|
describe('require-main-filename', function () {
|
|
it('returns require.main.filename in normal circumstances', function () {
|
|
requireMainFilename().should.match(/test\.js/)
|
|
})
|
|
|
|
it('should use children[0].filename when running on iisnode', function () {
|
|
var main = {
|
|
filename: 'D:\\Program Files (x86)\\iisnode\\interceptor.js',
|
|
children: [ {filename: 'D:\\home\\site\\wwwroot\\server.js'} ]
|
|
}
|
|
requireMainFilename({
|
|
main: main
|
|
}).should.match(/server\.js/)
|
|
})
|
|
|
|
it('should not use children[0] if no children exist', function () {
|
|
var main = {
|
|
filename: 'D:\\Program Files (x86)\\iisnode\\interceptor.js',
|
|
children: []
|
|
}
|
|
requireMainFilename({
|
|
main: main
|
|
}).should.match(/interceptor\.js/)
|
|
})
|
|
|
|
it('should default to process.cwd() if require.main is undefined', function () {
|
|
requireMainFilename({}).should.match(/require-main-filename/)
|
|
})
|
|
})
|