diff --git a/cli.mjs b/cli.mjs index e5f8a3b..05447ab 100644 --- a/cli.mjs +++ b/cli.mjs @@ -3,10 +3,10 @@ // Get arguments const [,, ...args] = process.argv -import c from './lib/casette.mjs' +import e from './lib/eltro.mjs' import { CLI, printError } from './lib/cli.mjs' -c.begin() +e.begin() const cli = new CLI(c) cli.parseOptions(args) @@ -17,16 +17,16 @@ if (cli.errored) { function PrintHelp() { console.log('') - console.log('Usage: casette ') + console.log('Usage: eltro ') console.log('') console.log('where can either be a single file or a simple glob pattern.') console.log('where can be any of the following:') console.log(' -r, --reporter - Specify the reporter to use.') console.log(' Supported reporters: list, dot') console.log('') - console.log('casette test/mytest.mjs') - console.log('casette dot test/*.mjs') - console.log('casette -r dot test/**/*.test.mjs') + console.log('eltro test/mytest.mjs') + console.log('eltro dot test/*.mjs') + console.log('eltro -r dot test/**/*.test.mjs') process.exit(1) } @@ -38,9 +38,9 @@ cli.processTargets().then(function() { } return cli.loadFiles() .then(function() { - c.reporter = cli.reporter + e.reporter = cli.reporter - return c.run() + return e.run() .catch(function(err) { console.log('') console.error('\x1b[31mUnknown error occured while running the tests\x1b[0m') diff --git a/index.mjs b/index.mjs index a098852..822968b 100644 --- a/index.mjs +++ b/index.mjs @@ -1,7 +1,7 @@ -import Casette from './lib/casette.mjs' +import Eltro from './lib/eltro.mjs' import assert from './lib/assert.mjs' export { - Casette, + Eltro, assert, } diff --git a/lib/casette.mjs b/lib/eltro.mjs similarity index 92% rename from lib/casette.mjs rename to lib/eltro.mjs index a97e1f9..5b652ee 100644 --- a/lib/casette.mjs +++ b/lib/eltro.mjs @@ -22,10 +22,10 @@ Test.prototype.skip = function() { this.skipTest = true } -function Casette() { +function Eltro() { this.__timeout = 2000 this.reporter = 'list' - this.Casette = Casette + this.Eltro = Eltro this.groups = new Map() this.groupsFlat = [] this.tests = [] @@ -36,9 +36,9 @@ function Casette() { this.prefix = '' } -Casette.prototype.begin = function() { +Eltro.prototype.begin = function() { if (this.starting) { - console.warn('WARNING: Multiple calls to Casette.begin were done.') + console.warn('WARNING: Multiple calls to Eltro.begin were done.') return } this.hasTests = false @@ -49,7 +49,7 @@ Casette.prototype.begin = function() { this.tests.splice(0, this.tests.length) } -Casette.prototype.__runTest = async function(stats, test) { +Eltro.prototype.__runTest = async function(stats, test) { if (this.reporter === 'list') { process.stdout.write(' \x1b[90m? ' + test.name + '\x1b[0m') } @@ -163,7 +163,7 @@ Casette.prototype.__runTest = async function(stats, test) { } } -Casette.prototype.run = async function() { +Eltro.prototype.run = async function() { if (this.reporter) { console.log('') console.log('') @@ -219,15 +219,15 @@ Casette.prototype.run = async function() { } } -Casette.prototype.setFilename = function(filename) { +Eltro.prototype.setFilename = function(filename) { this.filename = filename } -Casette.prototype.resetFilename = function() { +Eltro.prototype.resetFilename = function() { this.filename = '' } -Casette.prototype.describe = function(name, func) { +Eltro.prototype.describe = function(name, func) { let before = this.prefix if (before) { this.prefix = before + ' ' + name @@ -238,7 +238,7 @@ Casette.prototype.describe = function(name, func) { this.prefix = before } -Casette.prototype.test = function(name, func) { +Eltro.prototype.test = function(name, func) { let targetName = name if (this.prefix) { targetName = this.prefix + ' ' + name @@ -260,4 +260,4 @@ Casette.prototype.test = function(name, func) { return test } -export default new Casette() +export default new Eltro() diff --git a/package.json b/package.json index 1353a84..25017dc 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { - "name": "casette", + "name": "eltro", "version": "0.9.2", - "description": "No-dependancy test framework for node", + "description": "Eltro is a small no-dependancy test framework for node", "main": "index.mjs", "scripts": { "test": "node cli.mjs test/**/*.test.mjs" }, "repository": { "type": "git", - "url": "git+https://github.com/TheThing/node-casette.git" + "url": "git+https://github.com/TheThing/node-eltro.git" }, "keywords": [ "test", @@ -20,11 +20,11 @@ "author": "Jonatan Nilsson", "license": "WTFPL", "bugs": { - "url": "https://github.com/TheThing/node-casette/issues" + "url": "https://github.com/TheThing/node-eltro/issues" }, - "homepage": "https://github.com/TheThing/node-casette#readme", + "homepage": "https://github.com/TheThing/node-eltro#readme", "bin": { - "casette": "./cli.mjs" + "eltro": "./cli.mjs" }, "files": [ "index.mjs", diff --git a/test/assert.test.mjs b/test/assert.test.mjs index 5fa6c3b..0f50b84 100644 --- a/test/assert.test.mjs +++ b/test/assert.test.mjs @@ -2,7 +2,7 @@ import util from 'util' import assert from 'assert' import assertExtended from '../lib/assert.mjs' -import c from '../lib/casette.mjs' +import e from '../lib/eltro.mjs' const testLongObject = { a: 1, b:2, c:3, d:4, @@ -11,37 +11,37 @@ const testLongObject = { g: '32ghaiwugb23 238023' } -c.describe('#notOk()', function() { - c.test('should exist', function() { +e.describe('#notOk()', function() { + e.test('should exist', function() { assertExtended.ok(assertExtended.notOk) }) - c.test('should throw for true values', function() { + e.test('should throw for true values', function() { assertExtended.throws(function() { assertExtended.notOk(true) }, assertExtended.AssertionError) }) - c.test('should pass for false values', function() { + e.test('should pass for false values', function() { assertExtended.notOk(false) assertExtended.notOk(null) assertExtended.notOk(0) }) }) -c.describe('#isFulfilled()', function() { - c.test('should exist', function() { +e.describe('#isFulfilled()', function() { + e.test('should exist', function() { assertExtended.ok(assertExtended.isFulfilled) }) - c.test('should throw for rejected promises', function() { + e.test('should throw for rejected promises', function() { return assertExtended.isFulfilled(Promise.reject({})) .catch((err) => { assertExtended.ok(err.message.match(/promise fail/)) }) }) - c.test('should properly parse rejected object response', function() { + e.test('should properly parse rejected object response', function() { let assertMessage = util.inspect(testLongObject, {depth: 1}).replace(/\n /g, '') assertMessage = assertMessage.slice(0, 64) + '...' @@ -51,7 +51,7 @@ c.describe('#isFulfilled()', function() { ) }) - c.test('should include error message if error', function() { + e.test('should include error message if error', function() { const assertMessage = 'something something dark side' return assertExtended.isFulfilled(Promise.reject(new Error(assertMessage))) .catch((err) => { @@ -59,11 +59,11 @@ c.describe('#isFulfilled()', function() { }) }) - c.test('should pass for resolved promises', function() { + e.test('should pass for resolved promises', function() { return assertExtended.isFulfilled(Promise.resolve()) }) - c.test('should support custom message', function() { + e.test('should support custom message', function() { const assertMessage = 'something something dark side' return assertExtended.isFulfilled(Promise.reject({}), assertMessage) .catch((err) => { @@ -71,7 +71,7 @@ c.describe('#isFulfilled()', function() { }) }) - c.test('should return result for the resolved promise', function() { + e.test('should return result for the resolved promise', function() { const assertResult = {a: 1} return assertExtended.isFulfilled(Promise.resolve(assertResult)) @@ -79,12 +79,12 @@ c.describe('#isFulfilled()', function() { }) }) -c.describe('#isRejected()', function() { - c.test('should exist', function() { +e.describe('#isRejected()', function() { + e.test('should exist', function() { assertExtended.ok(assertExtended.isRejected) }) - c.test('should throw for resolved promises', function() { + e.test('should throw for resolved promises', function() { let hasFailed = false return assertExtended.isRejected(Promise.resolve({})) @@ -97,7 +97,7 @@ c.describe('#isRejected()', function() { }) }) - c.test('should properly stringify objects', function() { + e.test('should properly stringify objects', function() { let assertMessage = util.inspect(testLongObject, {depth: 1}).replace(/\n /g, '') assertMessage = assertMessage.slice(0, 64) + '...' @@ -107,13 +107,13 @@ c.describe('#isRejected()', function() { ) }) - c.test('should support custom message', function() { + e.test('should support custom message', function() { const assertMessage = 'something something dark side' return assertExtended.isRejected(Promise.resolve({}), assertMessage) .catch((err) => assertExtended.ok(err.message.match(assertMessage))) }) - c.test('should return result for the unresolved promise', function() { + e.test('should return result for the unresolved promise', function() { const assertResult = {a: 1} return assertExtended.isRejected(Promise.reject(assertResult)) @@ -121,34 +121,34 @@ c.describe('#isRejected()', function() { }) }) -c.describe('#match()', function() { - c.test('should exist', function() { +e.describe('#match()', function() { + e.test('should exist', function() { assertExtended.ok(assertExtended.match); }); - c.test('should throw if no match', function() { + e.test('should throw if no match', function() { assertExtended.throws(function() { assertExtended.match('a', /b/); }, assertExtended.AssertionError); }); - c.test('should pass if matches', function() { + e.test('should pass if matches', function() { assertExtended.match('a', /a/); }); }) -c.describe('#notMatch()', function() { - c.test('should exist', function() { +e.describe('#notMatch()', function() { + e.test('should exist', function() { assertExtended.ok(assertExtended.notMatch); }); - c.test('should throw if match', function() { + e.test('should throw if match', function() { assertExtended.throws(function() { assertExtended.notMatch('a', /a/); }, assertExtended.AssertionError); }); - c.test('should pass if not matches', function() { + e.test('should pass if not matches', function() { assertExtended.notMatch('a', /b/); }); }) diff --git a/test/cli.test.mjs b/test/cli.test.mjs index 5b3d112..0df2ec9 100644 --- a/test/cli.test.mjs +++ b/test/cli.test.mjs @@ -1,11 +1,11 @@ -import c from '../lib/casette.mjs' +import e from '../lib/eltro.mjs' import assert from '../lib/assert.mjs' import { CLI, getFiles, fileMatches } from '../lib/cli.mjs' -c.describe('CLI', function() { +e.describe('CLI', function() { let cli = new CLI() - c.test('#constructor() give default options', function() { + e.test('#constructor() give default options', function() { assert.strictEqual(cli.reporter, 'list') assert.deepEqual(cli.targets, ['test/**']) assert.deepEqual(cli.files, []) @@ -16,58 +16,58 @@ c.describe('CLI', function() { * #parseOptions() *****************************************/ - c.describe('#parseOptions()', function() { - c.test('should not do anything if no options', function() { + e.describe('#parseOptions()', function() { + e.test('should not do anything if no options', function() { cli.reporter = 'list' cli.parseOptions([]) assert.strictEqual(cli.reporter, 'list') assert.notOk(cli.errored) }) - c.test('should support overriding reporter with shorthand option', function() { + e.test('should support overriding reporter with shorthand option', function() { cli.reporter = 'list' cli.parseOptions(['-r', 'dot']) assert.strictEqual(cli.reporter, 'dot') assert.notOk(cli.errored) }) - c.test('should support overriding reporter with long option', function() { + e.test('should support overriding reporter with long option', function() { cli.reporter = 'list' cli.parseOptions(['--reporter', 'dot']) assert.strictEqual(cli.reporter, 'dot') assert.notOk(cli.errored) }) - c.test('should support reporter list', function() { + e.test('should support reporter list', function() { cli.reporter = 'list' cli.parseOptions(['-r', 'list']) assert.strictEqual(cli.reporter, 'list') assert.notOk(cli.errored) }) - c.test('should mark errored if missing reporter', function() { + e.test('should mark errored if missing reporter', function() { cli.parseOptions(['--reporter']) assert.ok(cli.errored) }) - c.test('should mark errored if invalid reporter', function() { + e.test('should mark errored if invalid reporter', function() { cli.parseOptions(['--reporter', 'test']) assert.ok(cli.errored) }) - c.test('should add file to targets', function() { + e.test('should add file to targets', function() { cli.parseOptions(['test']) assert.deepEqual(cli.targets, ['test']) assert.notOk(cli.errored) }) - c.test('should add file to targets no matter where it is', function() { + e.test('should add file to targets no matter where it is', function() { cli.parseOptions(['test', '-r', 'list', 'test2']) assert.deepEqual(cli.targets, ['test', 'test2']) assert.notOk(cli.errored) }) - c.test('should default add test to target if no target', function() { + e.test('should default add test to target if no target', function() { cli.parseOptions(['-r', 'list']) assert.deepEqual(cli.targets, ['test/**']) assert.notOk(cli.errored) @@ -78,8 +78,8 @@ c.describe('CLI', function() { * #processTargets() *****************************************/ - c.describe('#processTargets()', function() { - c.test('should mark errored if empty', async function() { + e.describe('#processTargets()', function() { + e.test('should mark errored if empty', async function() { cli.targets = ['test/folder1/*.txt'] await cli.processTargets() @@ -87,7 +87,7 @@ c.describe('CLI', function() { assert.ok(cli.errored) }) - c.test('should support direct file path if exists', async function() { + e.test('should support direct file path if exists', async function() { cli.targets = ['test/folder1/sampletest1.temp.mjs'] await cli.processTargets() @@ -95,7 +95,7 @@ c.describe('CLI', function() { assert.strictEqual(cli.files[0], 'test/folder1/sampletest1.temp.mjs') }) - c.test('should return all files in a directory', async function() { + e.test('should return all files in a directory', async function() { cli.targets = ['test/folder1/'] await cli.processTargets() @@ -104,7 +104,7 @@ c.describe('CLI', function() { assert.strictEqual(cli.files[1], 'test/folder1/sampletest2.temp.mjs') }) - c.test('should support start as folder substitute', async function() { + e.test('should support start as folder substitute', async function() { cli.targets = ['*/folder1/'] await cli.processTargets() @@ -113,7 +113,7 @@ c.describe('CLI', function() { assert.strictEqual(cli.files[1], 'test/folder1/sampletest2.temp.mjs') }) - c.test('should support grabbing only files in folder', async function() { + e.test('should support grabbing only files in folder', async function() { cli.targets = ['test/*'] await cli.processTargets() @@ -124,7 +124,7 @@ c.describe('CLI', function() { } }) - c.test('should support grabbing only pattern files in folder', async function() { + e.test('should support grabbing only pattern files in folder', async function() { cli.targets = ['test/*.test.mjs'] await cli.processTargets() @@ -135,7 +135,7 @@ c.describe('CLI', function() { } }) - c.test('should support multiple star pattern', async function() { + e.test('should support multiple star pattern', async function() { cli.targets = ['test/*/*.mjs'] await cli.processTargets() @@ -161,7 +161,7 @@ c.describe('CLI', function() { ]) }) - c.test('should support double star pattern', async function() { + e.test('should support double star pattern', async function() { cli.targets = ['test/**/*.mjs'] await cli.processTargets() @@ -207,7 +207,7 @@ c.describe('CLI', function() { }) }) - c.test('should support double star pattern end', async function() { + e.test('should support double star pattern end', async function() { cli.targets = ['test/**'] await cli.processTargets() @@ -255,7 +255,7 @@ c.describe('CLI', function() { }) }) -c.test('#fileMatches() should support filename matching with glob pattern', async function() { +e.test('#fileMatches() should support filename matching with glob pattern', async function() { assert.ok(fileMatches('bla.test.mjs', '*.mjs')) assert.ok(fileMatches('bla.test.mjs', '*test.mjs')) assert.ok(fileMatches('bla.test.mjs', 'bla*.mjs')) diff --git a/test/casette.test.mjs b/test/eltro.test.mjs similarity index 82% rename from test/casette.test.mjs rename to test/eltro.test.mjs index fb42fbd..c38a473 100644 --- a/test/casette.test.mjs +++ b/test/eltro.test.mjs @@ -1,16 +1,16 @@ -import c from '../lib/casette.mjs' +import e from '../lib/eltro.mjs' import assert from '../lib/assert.mjs' import { printError } from '../lib/cli.mjs' let testsWereRun = false function CreateT() { - const t = new c.Casette() + const t = new e.Eltro() t.reporter = '' return t } -c.test('Casette describe should add prefix to the group tests', async function() { +e.test('Eltro describe should add prefix to the group tests', async function() { testsWereRun = true const assertPrefix = 'something' const assertName = 'blabla' @@ -26,7 +26,7 @@ c.test('Casette describe should add prefix to the group tests', async function() assert.strictEqual(t.groupsFlat[0].tests[0].name, assertPrefix + ' ' + assertName) }) -c.test('Casette describe should add prefix to individual tests', async function() { +e.test('Eltro describe should add prefix to individual tests', async function() { testsWereRun = true const assertPrefix = 'something' const assertName = 'blabla' @@ -40,7 +40,7 @@ c.test('Casette describe should add prefix to individual tests', async function( assert.strictEqual(t.tests[0].name, assertPrefix + ' ' + assertName) }) -c.test('Casette describe should support multiple describe', async function() { +e.test('Eltro describe should support multiple describe', async function() { testsWereRun = true const assertPrefix = 'something' const assertPrefix2 = 'else' @@ -57,7 +57,7 @@ c.test('Casette describe should support multiple describe', async function() { assert.strictEqual(t.tests[0].name, assertPrefix + ' ' + assertPrefix2 + ' ' + assertName) }) -c.test('Casette should run test', async function() { +e.test('Eltro should run test', async function() { testsWereRun = true let assertIsTrue = false const t = CreateT() @@ -70,7 +70,7 @@ c.test('Casette should run test', async function() { assert.strictEqual(assertIsTrue, true) }) -c.test('Casette should run promised test', async function() { +e.test('Eltro should run promised test', async function() { testsWereRun = true let assertIsTrue = false const t = CreateT() @@ -86,7 +86,7 @@ c.test('Casette should run promised test', async function() { assert.strictEqual(assertIsTrue, true) }) -c.test('Casette should support callback', async function() { +e.test('Eltro should support callback', async function() { testsWereRun = true let assertIsTrue = false const t = CreateT() @@ -102,7 +102,7 @@ c.test('Casette should support callback', async function() { assert.strictEqual(assertIsTrue, true) }) -c.test('Casette should support directly thrown errors', async function() { +e.test('Eltro should support directly thrown errors', async function() { testsWereRun = true const assertError = new Error() const t = CreateT() @@ -115,7 +115,7 @@ c.test('Casette should support directly thrown errors', async function() { assert.strictEqual(t.failedTests[0].error, assertError) }) -c.test('Casette should support promise rejected errors', async function() { +e.test('Eltro should support promise rejected errors', async function() { testsWereRun = true const assertError = new Error() const t = CreateT() @@ -130,7 +130,7 @@ c.test('Casette should support promise rejected errors', async function() { assert.strictEqual(t.failedTests[0].error, assertError) }) -c.test('Casette should support callback rejected errors', async function() { +e.test('Eltro should support callback rejected errors', async function() { testsWereRun = true const assertError = new Error() const t = CreateT() @@ -143,7 +143,7 @@ c.test('Casette should support callback rejected errors', async function() { assert.strictEqual(t.failedTests[0].error, assertError) }) -c.test('Casette should support timing out tests', async function() { +e.test('Eltro should support timing out tests', async function() { testsWereRun = true const t = CreateT() t.begin() @@ -154,7 +154,7 @@ c.test('Casette should support timing out tests', async function() { assert.match(t.failedTests[0].error.message, /50ms/) }) -c.test('Casette should support timed out tests on late tests', async function() { +e.test('Eltro should support timed out tests on late tests', async function() { testsWereRun = true const t = CreateT() t.begin() @@ -169,7 +169,7 @@ c.test('Casette should support timed out tests on late tests', async function() assert.match(t.failedTests[0].error.message, /50ms/) }) -c.test('Casette should support skipped tests', async function() { +e.test('Eltro should support skipped tests', async function() { testsWereRun = true const t = CreateT() t.begin() diff --git a/test/test.mjs b/test/test.mjs deleted file mode 100644 index ed0271b..0000000 --- a/test/test.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import { Casette as c, assert} from '../index.mjs' - -c.describe('Array', function() { - c.describe('#indexOf()', function() { - c.test('should return -1 when value is not present', function() { - assert.equal([1,2,3].indexOf(4), -1) - }) - }) -})