UNPKG

1.16 kBPlain TextView Raw
1import * as pathUtil from "path";
2import { expect } from "chai";
3import * as jetpack from "..";
4
5describe("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("/"); // absolute path
12 expect(jetCwd.cwd()).to.equal(pathUtil.resolve(process.cwd(), "/"));
13
14 jetCwd = jetpack.cwd("../.."); // relative path
15 expect(jetCwd.cwd()).to.equal(pathUtil.resolve(process.cwd(), "../.."));
16
17 expect(jetpack.cwd()).to.equal(process.cwd()); // cwd of main lib should be intact
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});