UNPKG

databridge

Version:

Data bridging software to modularize, automate and schedule the transfer of data between different sources and destinations.

50 lines (48 loc) 2.02 kB
var assert = require('chai').assert; var stringUtilities = require('../bin/string-utilities'); describe('Testing string-utilities', function() { describe('Testing removeFileExtension', function() { var rFE = stringUtilities.removeFileExtension; it('Removes file extension from file with extension', function() { var file = 'test/test.js'; var r = rFE(file); assert(r == 'test/test', 'Returned ' + r + ' but expected test/test'); }); it('Leaves previous periods in file but still removes extension', function() { var file = 'test.test.js'; var r = rFE(file); assert(r == 'test.test', 'Returned ' + r + ' but expected test/test'); }); it('Throws an error if not passed a string', function() { assert.throws(function() { rFE(['test']); }, Error, 'Parameter'); }); }); describe('Testing cdDotDot', function() { var cdd = stringUtilities.cdDotDot; var path = require('path'); var expect = path.normalize(__dirname + '/../').replace(/\\/g, '/'); it('Returns error for nonexistent filename or directory.', function() { var r = cdd(expect + '/asldkfjaklsdfjlaksjfklasjdflkasdjf/'); assert(r instanceof Error, 'Error not returned. Returned instead: ' + typeof(r)); }); it('Returns forward slash directories.', function() { var r = cdd(__dirname.replace(/\//g, '\\')); assert(!(r instanceof Error), r.toString()); assert(r.indexOf('\\') == -1, r); }); it('Bumps up one directory when given filename.', function() { var r = cdd(expect + 'spec/string-utilities.js'); assert(r === expect, r); }); it('Bumps up one directory when given dir w/ trailing slash.', function() { var r = cdd(expect + 'spec/'); assert(r === expect, r); }); it('Bumps up one directory when given dir w/o trailing slash.', function() { var r = cdd(expect + 'spec'); assert(r === expect, r); }); }); });