1
0
Fork 0
mirror of https://code.forgejo.org/actions/cache.git synced 2024-11-23 20:19:16 +01:00

Sort inputs and remove whitespaces after exclamation at the beginning of lines

This commit is contained in:
Álvaro Mondéjar 2020-11-28 20:34:06 +01:00 committed by Vipul
parent fd5de65bc8
commit 204fa1ab69
3 changed files with 34 additions and 3 deletions

View file

@ -215,6 +215,36 @@ test("getInputAsArray handles empty lines correctly", () => {
expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]); expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]);
}); });
test("getInputAsArray sorts files correctly", () => {
testUtils.setInput("foo", "bar\n!baz\nwaldo\nqux\nquux\ncorge\ngrault\ngarply");
expect(actionUtils.getInputAsArray("foo")).toEqual([
"!baz",
"bar",
"corge",
"garply",
"grault",
"quux",
"qux",
"waldo"
]);
});
test("getInputAsArray removes spaces after ! at the beginning", () => {
testUtils.setInput(
"foo",
"! bar\n! baz\n! qux\n!quux\ncorge\ngrault! garply\n!\r\t waldo"
);
expect(actionUtils.getInputAsArray("foo")).toEqual([
"!bar",
"!baz",
"!quux",
"!qux",
"!waldo",
"corge",
"grault! garply"
]);
});
test("getInputAsInt returns undefined if input not set", () => { test("getInputAsInt returns undefined if input not set", () => {
expect(actionUtils.getInputAsInt("undefined")).toBeUndefined(); expect(actionUtils.getInputAsInt("undefined")).toBeUndefined();
}); });

View file

@ -147,7 +147,7 @@ test("restore with no key", async () => {
test("restore with too many keys should fail", async () => { test("restore with too many keys should fail", async () => {
const path = "node_modules"; const path = "node_modules";
const key = "node-test"; const key = "node-test";
const restoreKeys = [...Array(20).keys()].map(x => x.toString()); const restoreKeys = [...Array(20).keys()].map(x => x.toString()).sort();
testUtils.setInputs({ testUtils.setInputs({
path: path, path: path,
key, key,

View file

@ -61,8 +61,9 @@ export function getInputAsArray(
return core return core
.getInput(name, options) .getInput(name, options)
.split("\n") .split("\n")
.map(s => s.trim()) .map(s => s.replace(/^\!\s+/, '!').trim())
.filter(x => x !== ""); .filter(x => x !== "")
.sort();
} }
export function getInputAsInt( export function getInputAsInt(