1 | import * as pathUtil from "path";
|
2 | import { expect } from "chai";
|
3 | import * as jetpack from "..";
|
4 |
|
5 | describe("cwd", () => {
|
6 | it("returns the same path as process.cwd for main instance of jetpack", () => {
|
7 | expect(jetpack.cwd()).to.equal(process.cwd());
|
8 | });
|
9 |
|
10 | it("can create new context with different cwd", () => {
|
11 | let jetCwd = jetpack.cwd("/");
|
12 | expect(jetCwd.cwd()).to.equal(pathUtil.resolve(process.cwd(), "/"));
|
13 |
|
14 | jetCwd = jetpack.cwd("../..");
|
15 | expect(jetCwd.cwd()).to.equal(pathUtil.resolve(process.cwd(), "../.."));
|
16 |
|
17 | expect(jetpack.cwd()).to.equal(process.cwd());
|
18 | });
|
19 |
|
20 | it("cwd contexts can be created recursively", () => {
|
21 | const jetCwd1 = jetpack.cwd("..");
|
22 | expect(jetCwd1.cwd()).to.equal(pathUtil.resolve(process.cwd(), ".."));
|
23 |
|
24 | const jetCwd2 = jetCwd1.cwd("..");
|
25 | expect(jetCwd2.cwd()).to.equal(pathUtil.resolve(process.cwd(), "../.."));
|
26 | });
|
27 |
|
28 | it("cwd can join path parts", () => {
|
29 | const jetCwd = jetpack.cwd("a", "b", "c");
|
30 | expect(jetCwd.cwd()).to.equal(
|
31 | pathUtil.resolve(process.cwd(), "a", "b", "c")
|
32 | );
|
33 | });
|
34 | });
|