Skip to content

Commit 3323fd4

Browse files
committed
Add more tests for auto pack naming
1 parent 3c60708 commit 3323fd4

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

extensions/ql-vscode/src/data-extensions-editor/extension-pack-name.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ export function autoNameExtensionPack(
2525
const parts = packName.split("/");
2626
const sanitizedParts = parts.map((part) => sanitizeExtensionPackName(part));
2727

28+
// If the scope is empty (e.g. if the given name is "-/b"), then we need to still set a scope
29+
if (sanitizedParts[0].length === 0) {
30+
sanitizedParts[0] = "pack";
31+
}
32+
2833
return {
2934
scope: sanitizedParts[0],
3035
// This will ensure there's only 1 slash

extensions/ql-vscode/test/unit-tests/data-extensions-editor/extension-pack-name.test.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,41 @@ describe("autoNameExtensionPack", () => {
3636
language: "csharp",
3737
expected: "pack/b-csharp",
3838
},
39+
{
40+
name: "a/b/c/d",
41+
language: "csharp",
42+
expected: "a/b-c-d-csharp",
43+
},
44+
{
45+
name: "JAVA/CodeQL",
46+
language: "csharp",
47+
expected: "java/codeql-csharp",
48+
},
49+
{
50+
name: "my new pack",
51+
language: "swift",
52+
expected: "pack/my-new-pack-swift",
53+
},
54+
{
55+
name: "gïthub/vscode-codeql",
56+
language: "javascript",
57+
expected: "gthub/vscode-codeql-javascript",
58+
},
59+
{
60+
name: "a/b-",
61+
language: "csharp",
62+
expected: "a/b-csharp",
63+
},
64+
{
65+
name: "-a-/b",
66+
language: "ruby",
67+
expected: "a/b-ruby",
68+
},
69+
{
70+
name: "a/b--d--e-d-",
71+
language: "csharp",
72+
expected: "a/b-d-e-d-csharp",
73+
},
3974
];
4075

4176
test.each(testCases)(

0 commit comments

Comments
 (0)