diff options
Diffstat (limited to 'tests/js')
-rw-r--r-- | tests/js/accretion.mjs | 3 | ||||
-rw-r--r-- | tests/js/utils.mjs | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/tests/js/accretion.mjs b/tests/js/accretion.mjs index 73c93c8..14c86d3 100644 --- a/tests/js/accretion.mjs +++ b/tests/js/accretion.mjs @@ -5,6 +5,7 @@ import sqlite from "../../src/sqlite.cjs"; import * as runner from "../runner.mjs"; import * as db from "../../src/db.mjs"; +import * as u from "../../src/utils.mjs"; import { MIGRATIONS_DIR, runMigrations, @@ -35,7 +36,7 @@ const test_runMigrations = t => { const migrationLogs = fs .readdirSync(MIGRATIONS_DIR) - .sort((a, b) => a.localeCompare(b, "POSIX")) + .sort(u.strSortFn) .map(filename => ({ log: "exec-migration", filename })); assert.deepEqual(contents, migrationLogs); }); diff --git a/tests/js/utils.mjs b/tests/js/utils.mjs index 004af95..178f6c8 100644 --- a/tests/js/utils.mjs +++ b/tests/js/utils.mjs @@ -10,6 +10,7 @@ import { first, promisify, partial, + strSortFn, } from "../../src/utils.mjs"; const test_eq = t => { @@ -344,6 +345,22 @@ const test_partial = t => { }); }; +const test_strSortFn = t => { + t.start("strSortFn()"); + + t.test("empty value", () => { + assert.equal(strSortFn("", ""), 0); + }); + + t.test("default sort", () => { + const arr = [ "a", "Z" ]; + assert.deepEqual( + [...arr].sort(strSortFn), + [...arr].sort().reverse(), + ); + }); +}; + await runner.runTests([ test_eq, @@ -354,4 +371,5 @@ await runner.runTests([ test_first, test_promisify, test_partial, + test_strSortFn, ]); |