Skip to content

Commit

Permalink
Sort inputs and remove whitespaces after exclamation at the beginning…
Browse files Browse the repository at this point in the history
… of lines
  • Loading branch information
Álvaro Mondéjar committed Nov 28, 2020
1 parent 9c77c9d commit 2bdaf00
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 3 deletions.
30 changes: 30 additions & 0 deletions __tests__/actionUtils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,36 @@ test("getInputAsArray handles empty lines correctly", () => {
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", () => {
expect(actionUtils.getInputAsInt("undefined")).toBeUndefined();
});
Expand Down
2 changes: 1 addition & 1 deletion __tests__/restore.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ test("restore with no key", async () => {
test("restore with too many keys should fail", async () => {
const path = "node_modules";
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({
path: path,
key,
Expand Down
5 changes: 3 additions & 2 deletions src/utils/actionUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,9 @@ export function getInputAsArray(
return core
.getInput(name, options)
.split("\n")
.map(s => s.trim())
.filter(x => x !== "");
.map(s => s.replace(/^\!\s+/, '!').trim())
.filter(x => x !== "")
.sort();
}

export function getInputAsInt(
Expand Down

0 comments on commit 2bdaf00

Please sign in to comment.