StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/requireg/test/requiregSpec.js

153 lines
3.9 KiB

var path = require('path');
var expect = require('expect.js')
var resolvers = require('rewire')('../lib/resolvers')
require.cache[require.resolve('../lib/resolvers')] = { exports: resolvers }
var requiregModule = require('../lib/requireg')
var isWin32 = process.platform === 'win32'
var homeVar = isWin32 ? 'USERPROFILE' : 'HOME'
var homePath = process.env[homeVar]
describe('requireg', function () {
it('should be a function', function () {
expect(requiregModule).to.be.a('function')
})
describe('requireg API', function () {
it('should globalize', function () {
requiregModule.globalize()
expect(requireg).to.be.a('function')
})
})
describe('local modules', function () {
it('should resolve a local module', function () {
expect(requiregModule('expect.js')).to.be.equal(expect)
})
it('should throw an Error exception when no local module exists', function () {
expect(function () { requiregModule('nonexistent') }).to.throwError()
})
})
describe('global modules', function () {
describe('resolve only global', function () {
it('should not resolve a local module', function () {
expect(function () { requiregModule('expect.js', true) }).to.throwError()
})
})
describe('resolve via NODE_PATH', function () {
before(function () {
process.env.NODE_PATH = path.join(__dirname, 'fixtures', 'lib');
})
after(function () {
process.env.NODE_PATH = ''
})
it('should resolve the beaker package', function () {
expect(requiregModule('beaker')).to.be.true
})
it('should have the expected module path', function () {
expect(requiregModule.resolve('beaker'))
.to.be.equal(path.join(__dirname, 'fixtures', 'lib', 'node_modules', 'beaker', 'index.js'))
})
})
describe('resolve via $HOME', function () {
before(function () {
process.env[homeVar] = path.join(__dirname, 'fixtures', 'lib')
})
after(function () {
process.env[homeVar] = homePath
})
it('should resolve the beaker package', function () {
expect(requiregModule('beaker')).to.be.true
})
})
describe('resolve via $NODE_MODULES', function () {
before(function () {
process.env.NODE_MODULES = path.join(__dirname, 'fixtures', 'lib')
})
after(function () {
process.env.NODE_MODULES = ''
})
it('should resolve the beaker package', function () {
expect(requiregModule('beaker')).to.be.true
})
})
describe('resolve via node execution path', function () {
var execPath = process.execPath
var rc = require('rc')
before(function () {
process.execPath = path.join(__dirname, 'fixtures', (isWin32 ? 'lib' : 'bin'), 'node')
})
after(function () {
process.execPath = execPath
})
it('should resolve the beaker package', function () {
expect(requiregModule('beaker')).to.be.true
})
it('should have the expected module path', function () {
expect(requiregModule.resolve('beaker'))
.to.be.equal(path.join(__dirname, 'fixtures', 'lib', 'node_modules', 'beaker', 'index.js'))
})
})
describe('resolve via npm prefix', function () {
var rc = require('rc')
before(function () {
resolvers.__set__('rc', function () {
return {
prefix: path.join(__dirname, 'fixtures', (isWin32 ? 'lib' : ''))
}
})
})
after(function () {
resolvers.__set__('rc', rc)
})
it('should resolve the beaker package', function () {
expect(requiregModule('beaker')).to.be.true
})
it('should have the expected module path', function () {
expect(requiregModule.resolve('beaker'))
.to.be.equal(path.join(__dirname, 'fixtures', 'lib', 'node_modules', 'beaker', 'index.js'))
})
})
})
})