pwd-fs 2.4.1 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.travis.yml +2 -3
- package/__tests__/__fmock.ts +45 -0
- package/__tests__/append.spec.ts +72 -0
- package/__tests__/bitmask.spec.ts +23 -0
- package/__tests__/chmod.spec.ts +78 -0
- package/__tests__/chown.spec.ts +88 -0
- package/{test → __tests__}/constructor.spec.ts +3 -6
- package/__tests__/copy.spec.ts +102 -0
- package/__tests__/mkdir.spec.ts +120 -0
- package/__tests__/read.spec.ts +92 -0
- package/__tests__/readdir.spec.ts +87 -0
- package/__tests__/remove.spec.ts +78 -0
- package/__tests__/rename.spec.ts +84 -0
- package/__tests__/stat.spec.ts +100 -0
- package/__tests__/symlink.spec.ts +95 -0
- package/__tests__/test.spec.ts +82 -0
- package/__tests__/write.spec.ts +104 -0
- package/appveyor.yml +2 -4
- package/jest.config.ts +14 -0
- package/lib/__tests__/__fmock.d.ts +5 -0
- package/lib/index.js +24 -0
- package/lib/powered-file-system.js +260 -0
- package/lib/recurse-io-sync.js +90 -0
- package/lib/recurse-io.js +194 -0
- package/lib/src/index.d.ts +6 -186
- package/lib/src/powered-file-system.d.ts +155 -0
- package/lib/src/recurse-io-sync.d.ts +10 -5
- package/lib/src/recurse-io.d.ts +14 -6
- package/package.json +18 -14
- package/readme.md +2 -15
- package/rollup.config.js +16 -0
- package/src/index.ts +29 -626
- package/src/powered-file-system.ts +525 -0
- package/src/recurse-io-sync.ts +77 -71
- package/src/recurse-io.ts +181 -176
- package/tsconfig.json +12 -5
- package/lib/src/index.js +0 -297
- package/lib/src/index.js.map +0 -1
- package/lib/src/recurse-io-sync.js +0 -83
- package/lib/src/recurse-io-sync.js.map +0 -1
- package/lib/src/recurse-io.js +0 -188
- package/lib/src/recurse-io.js.map +0 -1
- package/lib/test/append.spec.js +0 -99
- package/lib/test/append.spec.js.map +0 -1
- package/lib/test/bitmask.spec.js +0 -29
- package/lib/test/bitmask.spec.js.map +0 -1
- package/lib/test/chmod.spec.js +0 -104
- package/lib/test/chmod.spec.js.map +0 -1
- package/lib/test/chown.spec.js +0 -94
- package/lib/test/chown.spec.js.map +0 -1
- package/lib/test/constructor.spec.js +0 -20
- package/lib/test/constructor.spec.js.map +0 -1
- package/lib/test/copy.spec.js +0 -135
- package/lib/test/copy.spec.js.map +0 -1
- package/lib/test/mkdir.spec.js +0 -147
- package/lib/test/mkdir.spec.js.map +0 -1
- package/lib/test/read.spec.js +0 -104
- package/lib/test/read.spec.js.map +0 -1
- package/lib/test/readdir.spec.js +0 -112
- package/lib/test/readdir.spec.js.map +0 -1
- package/lib/test/remove.spec.js +0 -84
- package/lib/test/remove.spec.js.map +0 -1
- package/lib/test/rename.spec.js +0 -98
- package/lib/test/rename.spec.js.map +0 -1
- package/lib/test/stat.spec.js +0 -104
- package/lib/test/stat.spec.js.map +0 -1
- package/lib/test/symlink.spec.js +0 -118
- package/lib/test/symlink.spec.js.map +0 -1
- package/lib/test/test.spec.js +0 -89
- package/lib/test/test.spec.js.map +0 -1
- package/lib/test/write.spec.js +0 -133
- package/lib/test/write.spec.js.map +0 -1
- package/test/append.spec.ts +0 -125
- package/test/bitmask.spec.ts +0 -26
- package/test/chmod.spec.ts +0 -127
- package/test/chown.spec.ts +0 -118
- package/test/copy.spec.ts +0 -171
- package/test/mkdir.spec.ts +0 -187
- package/test/read.spec.ts +0 -130
- package/test/readdir.spec.ts +0 -134
- package/test/remove.spec.ts +0 -102
- package/test/rename.spec.ts +0 -122
- package/test/stat.spec.ts +0 -131
- package/test/symlink.spec.ts +0 -146
- package/test/test.spec.ts +0 -113
- package/test/write.spec.ts +0 -167
- /package/lib/{test → __tests__}/append.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/bitmask.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/chmod.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/chown.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/constructor.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/copy.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/mkdir.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/read.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/readdir.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/remove.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/rename.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/stat.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/symlink.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/test.spec.d.ts +0 -0
- /package/lib/{test → __tests__}/write.spec.d.ts +0 -0
package/lib/test/stat.spec.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assert_1 = __importDefault(require("assert"));
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const mock_fs_1 = __importDefault(require("mock-fs"));
|
|
9
|
-
const chance_1 = __importDefault(require("chance"));
|
|
10
|
-
const src_1 = __importDefault(require("../src"));
|
|
11
|
-
describe('stat(src [, options])', () => {
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
const chance = new chance_1.default();
|
|
14
|
-
(0, mock_fs_1.default)({
|
|
15
|
-
'tmpdir': {
|
|
16
|
-
'binapp': chance.string(),
|
|
17
|
-
'libxbase': mock_fs_1.default.directory()
|
|
18
|
-
},
|
|
19
|
-
'flexapp': mock_fs_1.default.symlink({
|
|
20
|
-
path: 'tmpdir/binapp'
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
afterEach(mock_fs_1.default.restore);
|
|
25
|
-
it('Positive: Must return information a file', async () => {
|
|
26
|
-
const pfs = new src_1.default();
|
|
27
|
-
const stats = await pfs.stat('./tmpdir/binapp');
|
|
28
|
-
(0, assert_1.default)(stats.isFile());
|
|
29
|
-
});
|
|
30
|
-
it('Positive: Must return information a directory', async () => {
|
|
31
|
-
const pfs = new src_1.default();
|
|
32
|
-
const stats = await pfs.stat('./tmpdir/libxbase');
|
|
33
|
-
(0, assert_1.default)(stats.isDirectory());
|
|
34
|
-
});
|
|
35
|
-
it('Positive: Must return information a symlink', async () => {
|
|
36
|
-
const pfs = new src_1.default();
|
|
37
|
-
const stats = await pfs.stat('./flexapp');
|
|
38
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
39
|
-
});
|
|
40
|
-
it('Positive: Must return stats information, when path is absolute', async () => {
|
|
41
|
-
const pfs = new src_1.default();
|
|
42
|
-
const cwd = process.cwd();
|
|
43
|
-
const stats = await pfs.stat(`${cwd}${path_1.sep}tmpdir`, {
|
|
44
|
-
resolve: false
|
|
45
|
-
});
|
|
46
|
-
(0, assert_1.default)(stats.isDirectory());
|
|
47
|
-
});
|
|
48
|
-
it('Negative: Throw if not exists resource', async () => {
|
|
49
|
-
const pfs = new src_1.default();
|
|
50
|
-
const chance = new chance_1.default();
|
|
51
|
-
const base = chance.guid();
|
|
52
|
-
try {
|
|
53
|
-
await pfs.stat(`./${base}`);
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
(0, assert_1.default)(err.errno === -2);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
describe('sync mode', () => {
|
|
60
|
-
it('Positive: Must return information a file', async () => {
|
|
61
|
-
const pfs = new src_1.default();
|
|
62
|
-
const stats = pfs.stat('./tmpdir/binapp', {
|
|
63
|
-
sync: true
|
|
64
|
-
});
|
|
65
|
-
(0, assert_1.default)(stats.isFile());
|
|
66
|
-
});
|
|
67
|
-
it('Positive: Must return information a directory in ', async () => {
|
|
68
|
-
const pfs = new src_1.default();
|
|
69
|
-
const stats = pfs.stat('./tmpdir/libxbase', {
|
|
70
|
-
sync: true
|
|
71
|
-
});
|
|
72
|
-
(0, assert_1.default)(stats.isDirectory());
|
|
73
|
-
});
|
|
74
|
-
it('Positive: Must return information a symlink', async () => {
|
|
75
|
-
const pfs = new src_1.default();
|
|
76
|
-
const stats = pfs.stat('./flexapp', {
|
|
77
|
-
sync: true
|
|
78
|
-
});
|
|
79
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
80
|
-
});
|
|
81
|
-
it('Positive: Must return stats information, when path is absolute', async () => {
|
|
82
|
-
const pfs = new src_1.default();
|
|
83
|
-
const cwd = process.cwd();
|
|
84
|
-
const stats = pfs.stat(`${cwd}${path_1.sep}tmpdir`, {
|
|
85
|
-
sync: true,
|
|
86
|
-
resolve: false
|
|
87
|
-
});
|
|
88
|
-
(0, assert_1.default)(stats.isDirectory());
|
|
89
|
-
});
|
|
90
|
-
it('Negative: Throw if not exists resource', async () => {
|
|
91
|
-
const pfs = new src_1.default();
|
|
92
|
-
const chance = new chance_1.default();
|
|
93
|
-
const base = chance.guid();
|
|
94
|
-
try {
|
|
95
|
-
pfs.stat(`./${base}`, {
|
|
96
|
-
sync: true
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
catch (err) {
|
|
100
|
-
(0, assert_1.default)(err.errno === -2);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stat.spec.js","sourceRoot":"","sources":["../../test/stat.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/test/symlink.spec.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assert_1 = __importDefault(require("assert"));
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const mock_fs_1 = __importDefault(require("mock-fs"));
|
|
9
|
-
const chance_1 = __importDefault(require("chance"));
|
|
10
|
-
const src_1 = __importDefault(require("../src"));
|
|
11
|
-
describe('symlink(src, use [, options])', () => {
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
const chance = new chance_1.default();
|
|
14
|
-
(0, mock_fs_1.default)({
|
|
15
|
-
'tmpdir': {
|
|
16
|
-
'binapp': chance.string(),
|
|
17
|
-
'libxbase': mock_fs_1.default.directory()
|
|
18
|
-
},
|
|
19
|
-
'flexapp': mock_fs_1.default.symlink({
|
|
20
|
-
path: 'tmpdir/binapp'
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
afterEach(mock_fs_1.default.restore);
|
|
25
|
-
it('Positive: Must be created a symbolic link', async () => {
|
|
26
|
-
const pfs = new src_1.default();
|
|
27
|
-
await pfs.symlink('./tmpdir/binapp', './linkapp');
|
|
28
|
-
const stats = await pfs.stat('./linkapp');
|
|
29
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
30
|
-
});
|
|
31
|
-
it('Positive: Must be created a symbolic link for directory', async () => {
|
|
32
|
-
const pfs = new src_1.default();
|
|
33
|
-
await pfs.symlink(`./tmpdir/libxbase`, './linkapp');
|
|
34
|
-
const stats = await pfs.stat('./linkapp');
|
|
35
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
36
|
-
});
|
|
37
|
-
it('Positive: Must be created a symbolic, when path is absolute', async () => {
|
|
38
|
-
const pfs = new src_1.default();
|
|
39
|
-
const cwd = process.cwd();
|
|
40
|
-
await pfs.symlink(`${cwd}${path_1.sep}tmpdir${path_1.sep}libxbase`, `${cwd}${path_1.sep}linkapp`, {
|
|
41
|
-
resolve: false
|
|
42
|
-
});
|
|
43
|
-
const stats = await pfs.stat('./linkapp');
|
|
44
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
45
|
-
});
|
|
46
|
-
it('Negative: Throw if destination already exists', async () => {
|
|
47
|
-
const pfs = new src_1.default();
|
|
48
|
-
try {
|
|
49
|
-
await pfs.symlink(`./flexapp`, './tmpdir/binapp');
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
(0, assert_1.default)(err.errno === -17);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
it('Negative: Throw if not exists resource', async () => {
|
|
56
|
-
const pfs = new src_1.default();
|
|
57
|
-
const chance = new chance_1.default();
|
|
58
|
-
const base = chance.guid();
|
|
59
|
-
try {
|
|
60
|
-
await pfs.symlink(`./${base}`, './linkapp');
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
(0, assert_1.default)(err.errno === -2);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
describe('sync mode', () => {
|
|
67
|
-
it('Positive: Must be created a symbolic link', async () => {
|
|
68
|
-
const pfs = new src_1.default();
|
|
69
|
-
pfs.symlink('./tmpdir/binapp', './linkapp', {
|
|
70
|
-
sync: true
|
|
71
|
-
});
|
|
72
|
-
const stats = await pfs.stat('./linkapp');
|
|
73
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
74
|
-
});
|
|
75
|
-
it('Positive: Must be created a symbolic link for directory', async () => {
|
|
76
|
-
const pfs = new src_1.default();
|
|
77
|
-
pfs.symlink(`./tmpdir/libxbase`, './linkapp', {
|
|
78
|
-
sync: true
|
|
79
|
-
});
|
|
80
|
-
const stats = await pfs.stat('./linkapp');
|
|
81
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
82
|
-
});
|
|
83
|
-
it('Positive: Must be created a symbolic, when path is absolute', async () => {
|
|
84
|
-
const pfs = new src_1.default();
|
|
85
|
-
const cwd = process.cwd();
|
|
86
|
-
pfs.symlink(`${cwd}${path_1.sep}tmpdir${path_1.sep}libxbase`, `${cwd}${path_1.sep}linkapp`, {
|
|
87
|
-
sync: true,
|
|
88
|
-
resolve: false
|
|
89
|
-
});
|
|
90
|
-
const stats = await pfs.stat('./linkapp');
|
|
91
|
-
(0, assert_1.default)(stats.isSymbolicLink());
|
|
92
|
-
});
|
|
93
|
-
it('Negative: Throw if destination already exists', async () => {
|
|
94
|
-
const pfs = new src_1.default();
|
|
95
|
-
try {
|
|
96
|
-
pfs.symlink(`./flexapp`, './tmpdir/binapp', {
|
|
97
|
-
sync: true
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
catch (err) {
|
|
101
|
-
(0, assert_1.default)(err.errno === -17);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
it('Negative: Throw if not exists resource', async () => {
|
|
105
|
-
const pfs = new src_1.default();
|
|
106
|
-
const chance = new chance_1.default();
|
|
107
|
-
const base = chance.guid();
|
|
108
|
-
try {
|
|
109
|
-
pfs.symlink(`./${base}`, './linkapp', {
|
|
110
|
-
sync: true
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
(0, assert_1.default)(err.errno === -2);
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"symlink.spec.js","sourceRoot":"","sources":["../../test/symlink.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/test/test.spec.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assert_1 = __importDefault(require("assert"));
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const mock_fs_1 = __importDefault(require("mock-fs"));
|
|
9
|
-
const chance_1 = __importDefault(require("chance"));
|
|
10
|
-
const src_1 = __importDefault(require("../src"));
|
|
11
|
-
describe('test(src[, options])', () => {
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
const chance = new chance_1.default();
|
|
14
|
-
(0, mock_fs_1.default)({
|
|
15
|
-
'tmpdir': {
|
|
16
|
-
'binapp': chance.string(),
|
|
17
|
-
'libxbase': mock_fs_1.default.directory()
|
|
18
|
-
},
|
|
19
|
-
'flexapp': mock_fs_1.default.symlink({
|
|
20
|
-
path: 'tmpdir/binapp'
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
afterEach(mock_fs_1.default.restore);
|
|
25
|
-
it(`Positive: Should return 'true' for current working directory`, async () => {
|
|
26
|
-
const pfs = new src_1.default();
|
|
27
|
-
const exist = await pfs.test('.');
|
|
28
|
-
(0, assert_1.default)(exist);
|
|
29
|
-
});
|
|
30
|
-
it(`Positive: For existing directory should return 'true'`, async () => {
|
|
31
|
-
const pfs = new src_1.default();
|
|
32
|
-
const exist = await pfs.test('./tmpdir/libxbase');
|
|
33
|
-
(0, assert_1.default)(exist);
|
|
34
|
-
});
|
|
35
|
-
it(`Positive: For existing file should return 'true'`, async () => {
|
|
36
|
-
const pfs = new src_1.default();
|
|
37
|
-
const exist = await pfs.test('./tmpdir/binapp');
|
|
38
|
-
(0, assert_1.default)(exist);
|
|
39
|
-
});
|
|
40
|
-
it(`Positive: A non-existent file must return 'false'`, async () => {
|
|
41
|
-
const pfs = new src_1.default();
|
|
42
|
-
const chance = new chance_1.default();
|
|
43
|
-
const base = chance.guid();
|
|
44
|
-
const exists = await pfs.test(`./${base}`);
|
|
45
|
-
(0, assert_1.default)(exists === false);
|
|
46
|
-
});
|
|
47
|
-
it(`Positive: Should return 'true' for absolute source`, async () => {
|
|
48
|
-
const pfs = new src_1.default();
|
|
49
|
-
const cwd = process.cwd();
|
|
50
|
-
const exists = await pfs.test(`${cwd}${path_1.sep}tmpdir`, {
|
|
51
|
-
resolve: false
|
|
52
|
-
});
|
|
53
|
-
(0, assert_1.default)(exists);
|
|
54
|
-
});
|
|
55
|
-
describe('sync mode', () => {
|
|
56
|
-
it(`Positive: For existing directory should return 'true'`, () => {
|
|
57
|
-
const pfs = new src_1.default();
|
|
58
|
-
const exist = pfs.test('./tmpdir/libxbase', {
|
|
59
|
-
sync: true
|
|
60
|
-
});
|
|
61
|
-
(0, assert_1.default)(exist);
|
|
62
|
-
});
|
|
63
|
-
it(`Positive: For existing file should return 'true'`, () => {
|
|
64
|
-
const pfs = new src_1.default();
|
|
65
|
-
const exist = pfs.test('./tmpdir/binapp', {
|
|
66
|
-
sync: true
|
|
67
|
-
});
|
|
68
|
-
(0, assert_1.default)(exist);
|
|
69
|
-
});
|
|
70
|
-
it(`Positive: A non-existent file must return 'false'`, async () => {
|
|
71
|
-
const pfs = new src_1.default();
|
|
72
|
-
const chance = new chance_1.default();
|
|
73
|
-
const base = chance.guid();
|
|
74
|
-
const exists = pfs.test(`./${base}`, {
|
|
75
|
-
sync: true
|
|
76
|
-
});
|
|
77
|
-
(0, assert_1.default)(exists === false);
|
|
78
|
-
});
|
|
79
|
-
it(`Positive: Should return 'true' for absolute source`, async () => {
|
|
80
|
-
const pfs = new src_1.default();
|
|
81
|
-
const cwd = process.cwd();
|
|
82
|
-
const exists = pfs.test(`${cwd}${path_1.sep}tmpdir`, {
|
|
83
|
-
sync: true,
|
|
84
|
-
resolve: false
|
|
85
|
-
});
|
|
86
|
-
(0, assert_1.default)(exists);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.spec.js","sourceRoot":"","sources":["../../test/test.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/test/write.spec.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assert_1 = __importDefault(require("assert"));
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const mock_fs_1 = __importDefault(require("mock-fs"));
|
|
9
|
-
const chance_1 = __importDefault(require("chance"));
|
|
10
|
-
const src_1 = __importDefault(require("../src"));
|
|
11
|
-
describe('write(src, data[, options])', () => {
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
const chance = new chance_1.default();
|
|
14
|
-
(0, mock_fs_1.default)({
|
|
15
|
-
'tmpdir': {
|
|
16
|
-
'binapp': chance.string(),
|
|
17
|
-
'libxbase': mock_fs_1.default.directory()
|
|
18
|
-
},
|
|
19
|
-
'flexapp': mock_fs_1.default.symlink({
|
|
20
|
-
path: 'tmpdir/binapp'
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
afterEach(mock_fs_1.default.restore);
|
|
25
|
-
it('Positive: Must write content to file', async () => {
|
|
26
|
-
const pfs = new src_1.default();
|
|
27
|
-
const chance = new chance_1.default();
|
|
28
|
-
const base = chance.guid();
|
|
29
|
-
const exists = await pfs.test(`./tmpdir/${base}`);
|
|
30
|
-
(0, assert_1.default)(exists === false);
|
|
31
|
-
const payload = chance.paragraph();
|
|
32
|
-
await pfs.write(`./tmpdir/${base}`, payload);
|
|
33
|
-
const stats = await pfs.stat(`./tmpdir/${base}`);
|
|
34
|
-
(0, assert_1.default)(stats.size > 0);
|
|
35
|
-
});
|
|
36
|
-
it('Positive: Must rewrite content if file already exists', async () => {
|
|
37
|
-
const pfs = new src_1.default();
|
|
38
|
-
const chance = new chance_1.default();
|
|
39
|
-
const payload = chance.paragraph();
|
|
40
|
-
await pfs.write('./tmpdir/binapp', payload);
|
|
41
|
-
const stats = await pfs.stat(`./tmpdir/binapp`);
|
|
42
|
-
(0, assert_1.default)(stats.size > 0);
|
|
43
|
-
});
|
|
44
|
-
it(`Positive: Must write content to file, when path is absolute`, async () => {
|
|
45
|
-
const pfs = new src_1.default();
|
|
46
|
-
const chance = new chance_1.default();
|
|
47
|
-
const payload = chance.paragraph();
|
|
48
|
-
const cwd = process.cwd();
|
|
49
|
-
await pfs.write(`${cwd}${path_1.sep}tmpdir${path_1.sep}binapp`, payload, {
|
|
50
|
-
resolve: false
|
|
51
|
-
});
|
|
52
|
-
const stats = await pfs.stat(`./tmpdir/binapp`);
|
|
53
|
-
(0, assert_1.default)(stats.size > 0);
|
|
54
|
-
});
|
|
55
|
-
it('Negative: Throw if resource is directory', async () => {
|
|
56
|
-
const pfs = new src_1.default();
|
|
57
|
-
const chance = new chance_1.default();
|
|
58
|
-
try {
|
|
59
|
-
const payload = chance.paragraph();
|
|
60
|
-
await pfs.write('./tmpdir/libxbase', payload);
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
(0, assert_1.default)(err.errno === -21);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
it(`Negative: Unexpected option 'flag' returns Error`, async () => {
|
|
67
|
-
const pfs = new src_1.default();
|
|
68
|
-
const chance = new chance_1.default();
|
|
69
|
-
try {
|
|
70
|
-
const payload = chance.paragraph();
|
|
71
|
-
await pfs.write('./tmpdir/binapp', payload, {
|
|
72
|
-
flag: 'r'
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
(0, assert_1.default)(err.errno === -9);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
describe('sync mode', () => {
|
|
80
|
-
it('Positive: Must write content to file', async () => {
|
|
81
|
-
const pfs = new src_1.default();
|
|
82
|
-
const chance = new chance_1.default();
|
|
83
|
-
const base = chance.guid();
|
|
84
|
-
const exists = await pfs.test(`./tmpdir/${base}`);
|
|
85
|
-
(0, assert_1.default)(exists === false);
|
|
86
|
-
const payload = chance.paragraph();
|
|
87
|
-
pfs.write(`./tmpdir/${base}`, payload, {
|
|
88
|
-
sync: true
|
|
89
|
-
});
|
|
90
|
-
const stats = await pfs.stat(`./tmpdir/${base}`);
|
|
91
|
-
(0, assert_1.default)(stats.size > 0);
|
|
92
|
-
});
|
|
93
|
-
it(`Positive: Must write content to file, when path is absolute`, async () => {
|
|
94
|
-
const pfs = new src_1.default();
|
|
95
|
-
const chance = new chance_1.default();
|
|
96
|
-
const payload = chance.paragraph();
|
|
97
|
-
const cwd = process.cwd();
|
|
98
|
-
pfs.write(`${cwd}${path_1.sep}tmpdir${path_1.sep}binapp`, payload, {
|
|
99
|
-
sync: true,
|
|
100
|
-
resolve: false
|
|
101
|
-
});
|
|
102
|
-
const stats = await pfs.stat(`./tmpdir/binapp`);
|
|
103
|
-
(0, assert_1.default)(stats.size > 0);
|
|
104
|
-
});
|
|
105
|
-
it('Negative: Throw if resource is directory', async () => {
|
|
106
|
-
const pfs = new src_1.default();
|
|
107
|
-
const chance = new chance_1.default();
|
|
108
|
-
try {
|
|
109
|
-
const payload = chance.paragraph();
|
|
110
|
-
pfs.write('./tmpdir/libxbase', payload, {
|
|
111
|
-
sync: true
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
(0, assert_1.default)(err.errno === -21);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
it(`Negative: Unexpected option 'flag' returns Error`, async () => {
|
|
119
|
-
const pfs = new src_1.default();
|
|
120
|
-
const chance = new chance_1.default();
|
|
121
|
-
try {
|
|
122
|
-
const payload = chance.paragraph();
|
|
123
|
-
pfs.write('./tmpdir/binapp', payload, {
|
|
124
|
-
sync: true,
|
|
125
|
-
flag: 'r'
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
(0, assert_1.default)(err.errno === -9);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write.spec.js","sourceRoot":"","sources":["../../test/write.spec.ts"],"names":[],"mappings":"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"}
|
package/test/append.spec.ts
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { sep } from 'path';
|
|
3
|
-
import mockFs from 'mock-fs';
|
|
4
|
-
import Chance from 'chance';
|
|
5
|
-
import PoweredFileSystem from '../src';
|
|
6
|
-
|
|
7
|
-
describe('append(src, data [, options])', () => {
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
const chance = new Chance();
|
|
10
|
-
|
|
11
|
-
mockFs({
|
|
12
|
-
'tmpdir': {
|
|
13
|
-
'binapp': chance.string(),
|
|
14
|
-
'libxbase': mockFs.directory()
|
|
15
|
-
},
|
|
16
|
-
'flexapp': mockFs.symlink({
|
|
17
|
-
path: 'tmpdir/binapp'
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
afterEach(mockFs.restore);
|
|
23
|
-
|
|
24
|
-
it('Positive: Must append content to file', async () => {
|
|
25
|
-
const pfs = new PoweredFileSystem();
|
|
26
|
-
const chance = new Chance();
|
|
27
|
-
|
|
28
|
-
const before = await pfs.stat('./tmpdir/binapp');
|
|
29
|
-
|
|
30
|
-
const payload = chance.string();
|
|
31
|
-
await pfs.append('./tmpdir/binapp', payload);
|
|
32
|
-
|
|
33
|
-
const after = await pfs.stat('./tmpdir/binapp');
|
|
34
|
-
|
|
35
|
-
assert(after.size > before.size);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('Positive: Must append content to file when path is absolute', async () => {
|
|
39
|
-
const pfs = new PoweredFileSystem();
|
|
40
|
-
const chance = new Chance();
|
|
41
|
-
|
|
42
|
-
const before = await pfs.stat('./tmpdir/binapp');
|
|
43
|
-
|
|
44
|
-
const cwd = process.cwd();
|
|
45
|
-
const payload = chance.string();
|
|
46
|
-
|
|
47
|
-
await pfs.append(`${cwd}${sep}tmpdir${sep}binapp`, payload, {
|
|
48
|
-
resolve: false
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const after = await pfs.stat('./tmpdir/binapp');
|
|
52
|
-
|
|
53
|
-
assert(after.size > before.size);
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it(`Negative: Unexpected option 'flag' returns Error`, async () => {
|
|
57
|
-
const pfs = new PoweredFileSystem();
|
|
58
|
-
const chance = new Chance();
|
|
59
|
-
|
|
60
|
-
try {
|
|
61
|
-
const payload = chance.string();
|
|
62
|
-
|
|
63
|
-
await pfs.append('./tmpdir/binapp', payload, {
|
|
64
|
-
flag: 'r'
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
assert(err.errno === -9);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
describe('sync mode', () => {
|
|
73
|
-
it(`Positive: Must append content to file`, async () => {
|
|
74
|
-
const pfs = new PoweredFileSystem();
|
|
75
|
-
const chance = new Chance();
|
|
76
|
-
|
|
77
|
-
const before = await pfs.stat('./tmpdir/binapp');
|
|
78
|
-
const payload = chance.string();
|
|
79
|
-
|
|
80
|
-
pfs.append('./tmpdir/binapp', payload, {
|
|
81
|
-
sync: true
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
const after = await pfs.stat('./tmpdir/binapp');
|
|
85
|
-
|
|
86
|
-
assert(after.size > before.size);
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it('Positive: Must append content to file when path is absolute', async () => {
|
|
90
|
-
const pfs = new PoweredFileSystem();
|
|
91
|
-
const chance = new Chance();
|
|
92
|
-
|
|
93
|
-
const before = await pfs.stat('./tmpdir/binapp');
|
|
94
|
-
|
|
95
|
-
const cwd = process.cwd();
|
|
96
|
-
const payload = chance.string();
|
|
97
|
-
|
|
98
|
-
pfs.append(`${cwd}${sep}tmpdir${sep}binapp`, payload, {
|
|
99
|
-
sync: true,
|
|
100
|
-
resolve: false
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
const after = await pfs.stat('./tmpdir/binapp');
|
|
104
|
-
|
|
105
|
-
assert(after.size > before.size);
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it(`Negative: Unexpected option 'flag' returns Error`, async () => {
|
|
109
|
-
const pfs = new PoweredFileSystem();
|
|
110
|
-
const chance = new Chance();
|
|
111
|
-
|
|
112
|
-
try {
|
|
113
|
-
const payload = chance.string();
|
|
114
|
-
|
|
115
|
-
pfs.append('./tmpdir/binapp', payload, {
|
|
116
|
-
sync: true,
|
|
117
|
-
flag: 'r'
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
catch (err) {
|
|
121
|
-
assert(err.errno === -9);
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
});
|
package/test/bitmask.spec.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import PoweredFileSystem from '../src';
|
|
3
|
-
|
|
4
|
-
describe('static bitmask(mode: number)', () => {
|
|
5
|
-
it('Positive: Calculate bitmask', () => {
|
|
6
|
-
assert(PoweredFileSystem.bitmask(33024) === 0o400); // (r--------)
|
|
7
|
-
assert(PoweredFileSystem.bitmask(33152) === 0o600); // (rw-------)
|
|
8
|
-
assert(PoweredFileSystem.bitmask(33216) === 0o700); // (rwx------)
|
|
9
|
-
assert(PoweredFileSystem.bitmask(32800) === 0o040); // (---r-----)
|
|
10
|
-
assert(PoweredFileSystem.bitmask(32816) === 0o060); // (---rw----)
|
|
11
|
-
assert(PoweredFileSystem.bitmask(32824) === 0o070); // (---rwx---)
|
|
12
|
-
assert(PoweredFileSystem.bitmask(32772) === 0o004); // (------r--)
|
|
13
|
-
assert(PoweredFileSystem.bitmask(32774) === 0o006); // (------rw-)
|
|
14
|
-
assert(PoweredFileSystem.bitmask(32775) === 0o007); // (------rwx)
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it(`Negative: Throw an exception if the argument is 'null' type`, () => {
|
|
18
|
-
try {
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
PoweredFileSystem.bitmask(null);
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
assert(err);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
});
|