Files
awesome-copilot/eng/extension-plugin-ownership.test.mjs
T
Jenny Ferries 39225356d9 fix(website): resolve extension owner plugin
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 31016278-f98b-48ef-8a77-430091b34b91
2026-08-07 09:52:12 -07:00

62 lines
1.4 KiB
JavaScript

import assert from "node:assert/strict";
import { test } from "node:test";
import {
buildExtensionPluginOwners,
resolveExtensionPluginName,
} from "./extension-plugin-ownership.mjs";
const namespace = "com.github.awesome-copilot";
test("resolves an extension bundled only by its parent plugin", () => {
const owners = buildExtensionPluginOwners([
{
directoryName: "ember",
manifest: {
name: "ember",
extensions: {
[namespace]: {
extensions: ["./extensions/daily-focus-board"],
},
},
},
},
]);
assert.equal(
resolveExtensionPluginName("daily-focus-board", owners),
"ember"
);
});
test("prefers a same-named standalone plugin over another owner", () => {
const owners = buildExtensionPluginOwners([
{
directoryName: "parent-plugin",
manifest: {
name: "parent-plugin",
extensions: {
[namespace]: {
extensions: ["./extensions/daily-focus-board/"],
},
},
},
},
{
directoryName: "daily-focus-board",
manifest: { name: "daily-focus-board" },
},
]);
assert.equal(
resolveExtensionPluginName("daily-focus-board", owners),
"daily-focus-board"
);
});
test("preserves the extension name when no plugin owns it", () => {
assert.equal(
resolveExtensionPluginName("daily-focus-board", new Map()),
"daily-focus-board"
);
});