mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-09 02:29:13 +00:00
62 lines
1.4 KiB
JavaScript
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"
|
|
);
|
|
});
|