Add initial minimatch support

This commit is contained in:
Ethan Dennis 2020-03-05 09:15:35 -08:00
parent 84cead4a82
commit 1e233443e8
No known key found for this signature in database
GPG key ID: 32E74B75DB4065DD
14 changed files with 202 additions and 108 deletions

View file

@ -0,0 +1,42 @@
import * as path from "path";
import * as os from "os";
import * as pathUtils from "../src/utils/pathUtils";
jest.mock("@actions/core");
jest.mock("os");
test("expandPaths with no ~ in path", () => {
const filePath = ".cache/yarn";
const resolvedPath = pathUtils.expandPaths([filePath]);
const expectedPath = [path.resolve(filePath)];
expect(resolvedPath).toStrictEqual(expectedPath);
});
test("expandPaths with ~ in path", () => {
const filePath = "~/.cache/yarn";
const homedir = jest.requireActual("os").homedir();
const homedirMock = jest.spyOn(os, "homedir");
homedirMock.mockImplementation(() => {
return homedir;
});
const resolvedPath = pathUtils.expandPaths([filePath]);
const expectedPath = [path.join(homedir, ".cache/yarn")];
expect(resolvedPath).toStrictEqual(expectedPath);
});
test("expandPaths with home not found", () => {
const filePath = "~/.cache/yarn";
const homedirMock = jest.spyOn(os, "homedir");
homedirMock.mockImplementation(() => {
return "";
});
expect(() => pathUtils.expandPaths([filePath])).toThrow(
"Unable to resolve `~` to HOME"
);
});