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.
153 lines
3.9 KiB
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'))
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|