summaryrefslogtreecommitdiff
path: root/tests/js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/js')
-rw-r--r--tests/js/accretion.mjs3
-rw-r--r--tests/js/utils.mjs18
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,
]);