test.js 1.03 KB
/* 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/)
  })
})