diff --git a/src/prelude/tests/info.test.ts b/src/prelude/tests/info.test.ts index ce97a35..5a75142 100644 --- a/src/prelude/tests/info.test.ts +++ b/src/prelude/tests/info.test.ts @@ -1,90 +1,89 @@ import { expect, describe, test } from 'bun:test' -import { globals } from '#prelude' describe('var and var?', () => { test('var? checks if a variable exists', async () => { - await expect(`var? 'nada'`).toEvaluateTo(false, globals) - await expect(`var? 'info'`).toEvaluateTo(false, globals) - await expect(`abc = abc; var? 'abc'`).toEvaluateTo(true, globals) - await expect(`var? 'var?'`).toEvaluateTo(true, globals) + await expect(`var? 'nada'`).toEvaluateTo(false) + await expect(`var? 'info'`).toEvaluateTo(false) + await expect(`abc = abc; var? 'abc'`).toEvaluateTo(true) + await expect(`var? 'var?'`).toEvaluateTo(true) - await expect(`var? 'dict'`).toEvaluateTo(true, globals) - await expect(`var? dict`).toEvaluateTo(true, globals) + await expect(`var? 'dict'`).toEvaluateTo(true) + await expect(`var? dict`).toEvaluateTo(true) }) test('var returns a value or null', async () => { - await expect(`var 'nada'`).toEvaluateTo(null, globals) - await expect(`var nada`).toEvaluateTo(null, globals) - await expect(`var 'info'`).toEvaluateTo(null, globals) - await expect(`abc = my-string; var 'abc'`).toEvaluateTo('my-string', globals) - await expect(`abc = my-string; var abc`).toEvaluateTo(null, globals) + await expect(`var 'nada'`).toEvaluateTo(null) + await expect(`var nada`).toEvaluateTo(null) + await expect(`var 'info'`).toEvaluateTo(null) + await expect(`abc = my-string; var 'abc'`).toEvaluateTo('my-string') + await expect(`abc = my-string; var abc`).toEvaluateTo(null) }) }) describe('type predicates', () => { test('string? checks for string type', async () => { - await expect(`string? 'hello'`).toEvaluateTo(true, globals) - await expect(`string? 42`).toEvaluateTo(false, globals) + await expect(`string? 'hello'`).toEvaluateTo(true) + await expect(`string? 42`).toEvaluateTo(false) }) test('number? checks for number type', async () => { - await expect(`number? 42`).toEvaluateTo(true, globals) - await expect(`number? 'hello'`).toEvaluateTo(false, globals) + await expect(`number? 42`).toEvaluateTo(true) + await expect(`number? 'hello'`).toEvaluateTo(false) }) test('boolean? checks for boolean type', async () => { - await expect(`boolean? true`).toEvaluateTo(true, globals) - await expect(`boolean? 42`).toEvaluateTo(false, globals) + await expect(`boolean? true`).toEvaluateTo(true) + await expect(`boolean? 42`).toEvaluateTo(false) }) test('array? checks for array type', async () => { - await expect(`array? [1 2 3]`).toEvaluateTo(true, globals) - await expect(`array? 42`).toEvaluateTo(false, globals) + await expect(`array? [1 2 3]`).toEvaluateTo(true) + await expect(`array? 42`).toEvaluateTo(false) }) test('dict? checks for dict type', async () => { - await expect(`dict? [a=1]`).toEvaluateTo(true, globals) - await expect(`dict? []`).toEvaluateTo(false, globals) + await expect(`dict? [a=1]`).toEvaluateTo(true) + await expect(`dict? []`).toEvaluateTo(false) }) test('null? checks for null type', async () => { - await expect(`null? null`).toEvaluateTo(true, globals) - await expect(`null? 42`).toEvaluateTo(false, globals) + await expect(`null? null`).toEvaluateTo(true) + await expect(`null? 42`).toEvaluateTo(false) }) test('some? checks for non-null', async () => { - await expect(`some? 42`).toEvaluateTo(true, globals) - await expect(`some? null`).toEvaluateTo(false, globals) + await expect(`some? 42`).toEvaluateTo(true) + await expect(`some? null`).toEvaluateTo(false) }) }) describe('introspection', () => { test('type returns proper types', async () => { - await expect(`type 'hello'`).toEvaluateTo('string', globals) - await expect(`type 42`).toEvaluateTo('number', globals) - await expect(`type true`).toEvaluateTo('boolean', globals) - await expect(`type false`).toEvaluateTo('boolean', globals) - await expect(`type null`).toEvaluateTo('null', globals) - await expect(`type [1 2 3]`).toEvaluateTo('array', globals) - await expect(`type [a=1 b=2]`).toEvaluateTo('dict', globals) + await expect(`type 'hello'`).toEvaluateTo('string') + await expect(`type 42`).toEvaluateTo('number') + await expect(`type true`).toEvaluateTo('boolean') + await expect(`type false`).toEvaluateTo('boolean') + await expect(`type null`).toEvaluateTo('null') + await expect(`type [1 2 3]`).toEvaluateTo('array') + await expect(`type [a=1 b=2]`).toEvaluateTo('dict') }) test('inspect formats values', async () => { - await expect(`inspect 'hello'`).toEvaluateTo("\u001b[32m'hello\u001b[32m'\u001b[0m", globals) + await expect(`inspect 'hello'`).toEvaluateTo("\u001b[32m'hello\u001b[32m'\u001b[0m") }) test('describe describes values', async () => { - await expect(`describe 'hello'`).toEvaluateTo("#", globals) + await expect(`describe 'hello'`).toEvaluateTo("#") }) }) describe('environment', () => { test('args is an array', async () => { - await expect(`array? $.args`).toEvaluateTo(true, globals) + await expect(`array? $.args`).toEvaluateTo(true) }) test('args can be accessed', async () => { - await expect(`type $.args`).toEvaluateTo('array', globals) + await expect(`type $.args`).toEvaluateTo('array') }) test('argv includes more than just the args', async () => { @@ -106,35 +105,35 @@ describe('ref', () => { describe('$ global dictionary', () => { test('$.args is an array', async () => { - await expect(`$.args | array?`).toEvaluateTo(true, globals) + await expect(`$.args | array?`).toEvaluateTo(true) }) test('$.args can be accessed', async () => { - await expect(`$.args | type`).toEvaluateTo('array', globals) + await expect(`$.args | type`).toEvaluateTo('array') }) test('$.script.name is a string', async () => { - await expect(`$.script.name | string?`).toEvaluateTo(true, globals) + await expect(`$.script.name | string?`).toEvaluateTo(true) }) test('$.script.path is a string', async () => { - await expect(`$.script.path | string?`).toEvaluateTo(true, globals) + await expect(`$.script.path | string?`).toEvaluateTo(true) }) test('$.env is a dict', async () => { - await expect(`$.env | dict?`).toEvaluateTo(true, globals) + await expect(`$.env | dict?`).toEvaluateTo(true) }) test('$.pid is a number', async () => { - await expect(`$.pid | number?`).toEvaluateTo(true, globals) - await expect(`$.pid > 0`).toEvaluateTo(true, globals) + await expect(`$.pid | number?`).toEvaluateTo(true) + await expect(`$.pid > 0`).toEvaluateTo(true) }) test('$.cwd is a string', async () => { - await expect(`$.cwd | string?`).toEvaluateTo(true, globals) + await expect(`$.cwd | string?`).toEvaluateTo(true) }) test('$.cwd returns current working directory', async () => { - await expect(`$.cwd`).toEvaluateTo(process.cwd(), globals) + await expect(`$.cwd`).toEvaluateTo(process.cwd()) }) }) diff --git a/src/prelude/tests/load.test.ts b/src/prelude/tests/load.test.ts index f79326c..c75a035 100644 --- a/src/prelude/tests/load.test.ts +++ b/src/prelude/tests/load.test.ts @@ -1,42 +1,41 @@ import { expect, describe, test } from 'bun:test' -import { globals } from '#prelude' describe('loading a file', () => { test(`imports all a file's functions`, async () => { expect(` math = load ./src/prelude/tests/math.sh math.double 4 - `).toEvaluateTo(8, globals) + `).toEvaluateTo(8) expect(` math = load ./src/prelude/tests/math.sh - math.double (math.double 4) - `).toEvaluateTo(16, globals) + math.double (math.double 4) + `).toEvaluateTo(16) expect(` math = load ./src/prelude/tests/math.sh - dbl = ref math.double + dbl = ref math.double dbl (dbl 2) - `).toEvaluateTo(8, globals) + `).toEvaluateTo(8) expect(` math = load ./src/prelude/tests/math.sh math.pi - `).toEvaluateTo(3.14, globals) + `).toEvaluateTo(3.14) expect(` math = load ./src/prelude/tests/math.sh math | at 🥧 - `).toEvaluateTo(3.14159265359, globals) + `).toEvaluateTo(3.14159265359) expect(` math = load ./src/prelude/tests/math.sh math.🥧 - `).toEvaluateTo(3.14159265359, globals) + `).toEvaluateTo(3.14159265359) expect(` math = load ./src/prelude/tests/math.sh math.add1 5 - `).toEvaluateTo(6, globals) + `).toEvaluateTo(6) }) }) diff --git a/src/prelude/tests/prelude.test.ts b/src/prelude/tests/prelude.test.ts index 27bb919..3db92e6 100644 --- a/src/prelude/tests/prelude.test.ts +++ b/src/prelude/tests/prelude.test.ts @@ -1,5 +1,4 @@ import { expect, describe, test } from 'bun:test' -import { globals } from '#prelude' describe('string operations', () => { test('to-upper converts to uppercase', async () => {