chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
import { tmpdir } from "node:os";
|
||||
|
||||
import { hasStandaloneAppBundle, isTermux } from "../../scripts/build/postinstallSupport.mjs";
|
||||
|
||||
test("hasStandaloneAppBundle returns false for source checkout without standalone app", () => {
|
||||
const root = mkdtempSync(join(tmpdir(), "omniroute-postinstall-src-"));
|
||||
|
||||
try {
|
||||
mkdirSync(join(root, "src", "app"), { recursive: true });
|
||||
assert.equal(hasStandaloneAppBundle(root), false);
|
||||
} finally {
|
||||
rmSync(root, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test("hasStandaloneAppBundle returns true for published standalone app bundle", () => {
|
||||
const root = mkdtempSync(join(tmpdir(), "omniroute-postinstall-standalone-"));
|
||||
|
||||
try {
|
||||
mkdirSync(join(root, "app"), { recursive: true });
|
||||
writeFileSync(join(root, "app", "server.js"), "export {};\n");
|
||||
assert.equal(hasStandaloneAppBundle(root), true);
|
||||
} finally {
|
||||
rmSync(root, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
// isTermux detection
|
||||
test("isTermux returns false when no termux signals present", () => {
|
||||
assert.equal(isTermux({}), false);
|
||||
});
|
||||
|
||||
test("isTermux returns true when TERMUX_VERSION is set", () => {
|
||||
assert.equal(isTermux({ TERMUX_VERSION: "0.119" }), true);
|
||||
});
|
||||
|
||||
test("isTermux returns true when PREFIX contains com.termux", () => {
|
||||
assert.equal(isTermux({ PREFIX: "/data/data/com.termux/files/usr" }), true);
|
||||
});
|
||||
|
||||
test("isTermux returns false for non-termux PREFIX", () => {
|
||||
assert.equal(isTermux({ PREFIX: "/usr/local" }), false);
|
||||
});
|
||||
Reference in New Issue
Block a user