Skip to content

Commit ebabfa8

Browse files
enable fs link and permission tests
1 parent c254699 commit ebabfa8

File tree

5 files changed

+118
-137
lines changed

5 files changed

+118
-137
lines changed

src/modules/fs_promises.js

Lines changed: 114 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ export default `
22
import { resolve as pathResolve } from 'node:path'
33
44
export const access = (path, mode) => new Promise((resolve, reject) => {
5-
__fs.access(pathResolve(path), mode, (err) => {
6-
if (err) {
7-
reject(err)
8-
} else {
9-
resolve()
10-
}
11-
})
5+
try {
6+
__fs.accessSync(pathResolve(path), mode)
7+
resolve()
8+
} catch (err) {
9+
reject(err)
10+
}
1211
})
1312
1413
export const appendFile = (path, data, options) => new Promise((resolve, reject) => {
@@ -22,23 +21,21 @@ export const appendFile = (path, data, options) => new Promise((resolve, reject)
2221
})
2322
2423
export const chmod = (path, mode) => new Promise((resolve, reject) => {
25-
__fs.chmod(pathResolve(path), mode, (err) => {
26-
if (err) {
27-
reject(err)
28-
} else {
29-
resolve()
30-
}
31-
})
24+
try {
25+
__fs.chmodSync(pathResolve(path), mode)
26+
resolve()
27+
} catch (err) {
28+
reject(err)
29+
}
3230
})
3331
3432
export const chown = (path, uid, gid) => new Promise((resolve, reject) => {
35-
__fs.chown(pathResolve(path), uid, gid, (err) => {
36-
if (err) {
37-
reject(err)
38-
} else {
39-
resolve()
40-
}
41-
})
33+
try {
34+
__fs.chownSync(pathResolve(path), uid, gid)
35+
resolve()
36+
} catch (err) {
37+
reject(err)
38+
}
4239
})
4340
4441
export const close = (fd) => new Promise((resolve, reject) => {
@@ -71,23 +68,21 @@ export const exists = (path) => new Promise((resolve) => {
7168
})
7269
7370
export const fchmod = (path, mode) => new Promise((resolve, reject) => {
74-
__fs.fchmod(pathResolve(path), mode, (err) => {
75-
if (err) {
76-
reject(err)
77-
} else {
78-
resolve()
79-
}
80-
})
71+
try {
72+
__fs.fchmodSync(pathResolve(path), mode)
73+
resolve()
74+
} catch (err) {
75+
reject(err)
76+
}
8177
})
8278
8379
export const fchown = (path, uid, gid) => new Promise((resolve, reject) => {
84-
__fs.fchown(pathResolve(path), uid, gid, (err) => {
85-
if (err) {
86-
reject(err)
87-
} else {
88-
resolve()
89-
}
90-
})
80+
try {
81+
__fs.fchownSync(pathResolve(path), uid, gid)
82+
resolve()
83+
} catch (err) {
84+
reject(err)
85+
}
9186
})
9287
9388
export const fdatasync = (fd) => new Promise((resolve, reject) => {
@@ -101,13 +96,12 @@ export const fdatasync = (fd) => new Promise((resolve, reject) => {
10196
})
10297
10398
export const fstat = (path) => new Promise((resolve, reject) => {
104-
__fs.fstat(pathResolve(path), (err, stats) => {
105-
if (err) {
106-
reject(err)
107-
} else {
108-
resolve(stats)
109-
}
110-
})
99+
try {
100+
const stats = __fs.fstatSync(pathResolve(path))
101+
resolve(stats)
102+
} catch (err) {
103+
reject(err)
104+
}
111105
})
112106
113107
export const fsync = (fd) => new Promise((resolve, reject) => {
@@ -121,63 +115,57 @@ export const fsync = (fd) => new Promise((resolve, reject) => {
121115
})
122116
123117
export const ftruncate = (fd, len) => new Promise((resolve, reject) => {
124-
__fs.ftruncate(fd, len, (err) => {
125-
if (err) {
126-
reject(err)
127-
} else {
128-
resolve()
129-
}
130-
})
118+
try {
119+
__fs.ftruncateSync(fd, len)
120+
resolve()
121+
} catch (err) {
122+
reject(err)
123+
}
131124
})
132125
133126
export const futimes = (fd, atime, mtime) => new Promise((resolve, reject) => {
134-
__fs.futimes(fd, atime, mtime, (err) => {
135-
if (err) {
136-
reject(err)
137-
} else {
138-
resolve()
139-
}
140-
})
127+
try {
128+
__fs.futimesSync(fd, atime, mtime)
129+
resolve()
130+
} catch (err) {
131+
reject(err)
132+
}
141133
})
142134
143135
export const lchmod = (path, mode) => new Promise((resolve, reject) => {
144-
__fs.lchmod(pathResolve(path), mode, (err) => {
145-
if (err) {
146-
reject(err)
147-
} else {
148-
resolve()
149-
}
150-
})
136+
try {
137+
__fs.lchmodSync(pathResolve(path), mode)
138+
resolve()
139+
} catch (err) {
140+
reject(err)
141+
}
151142
})
152143
153144
export const lchown = (path, uid, gid) => new Promise((resolve, reject) => {
154-
__fs.lchown(pathResolve(path), uid, gid, (err) => {
155-
if (err) {
156-
reject(err)
157-
} else {
158-
resolve()
159-
}
160-
})
145+
try {
146+
__fs.lchownSync(pathResolve(path), uid, gid)
147+
resolve()
148+
} catch (err) {
149+
reject(err)
150+
}
161151
})
162152
163153
export const link = (existingPath, newPath) => new Promise((resolve, reject) => {
164-
__fs.link(pathResolve(existingPath), pathResolve(newPath), (err) => {
165-
if (err) {
166-
reject(err)
167-
} else {
168-
resolve()
169-
}
170-
})
154+
try {
155+
__fs.linkSync(pathResolve(existingPath), pathResolve(newPath))
156+
resolve()
157+
} catch (err) {
158+
reject(err)
159+
}
171160
})
172161
173162
export const lstat = (path) => new Promise((resolve, reject) => {
174-
__fs.lstat(pathResolve(path), (err, stats) => {
175-
if (err) {
176-
reject(err)
177-
} else {
178-
resolve(stats)
179-
}
180-
})
163+
try {
164+
const stats = __fs.lstatSync(pathResolve(path))
165+
resolve(stats)
166+
} catch (err) {
167+
reject(err)
168+
}
181169
})
182170
183171
export const mkdir = (path, options) => new Promise((resolve, reject) => {
@@ -237,23 +225,21 @@ export const readFile = (path, options) => new Promise((resolve, reject) => {
237225
})
238226
239227
export const readlink = (path, options) => new Promise((resolve, reject) => {
240-
__fs.readlink(pathResolve(path), options, (err, linkString) => {
241-
if (err) {
242-
reject(err)
243-
} else {
244-
resolve(linkString)
245-
}
246-
})
228+
try {
229+
const linkString = __fs.readlinkSync(pathResolve(path), options)
230+
resolve(linkString)
231+
} catch (err) {
232+
reject(err)
233+
}
247234
})
248235
249236
export const realpath = (path, options) => new Promise((resolve, reject) => {
250-
__fs.realpath(pathResolve(path), options, (err, resolvedPath) => {
251-
if (err) {
252-
reject(err)
253-
} else {
254-
resolve(resolvedPath)
255-
}
256-
})
237+
try {
238+
const resolvedPath = __fs.realpathSync(pathResolve(path), options)
239+
resolve(resolvedPath)
240+
} catch (err) {
241+
reject(err)
242+
}
257243
})
258244
259245
export const rename = (oldPath, newPath) => new Promise((resolve, reject) => {
@@ -276,53 +262,48 @@ export const rmdir = (path) => new Promise((resolve, reject) => {
276262
})
277263
278264
export const stat = (path) => new Promise((resolve, reject) => {
279-
__fs.stat(pathResolve(path), (err, stats) => {
280-
if (err) {
281-
reject(err)
282-
} else {
283-
resolve(stats)
284-
}
285-
})
265+
try {
266+
const stats = __fs.statSync(pathResolve(path))
267+
resolve(stats)
268+
} catch (err) {
269+
reject(err)
270+
}
286271
})
287272
288273
export const symlink = (target, path, type) => new Promise((resolve, reject) => {
289-
__fs.symlink(target, pathResolve(path), type, (err) => {
290-
if (err) {
291-
reject(err)
292-
} else {
293-
resolve()
294-
}
295-
})
274+
try {
275+
__fs.symlinkSync(target, pathResolve(path), type)
276+
resolve()
277+
} catch (err) {
278+
reject(err)
279+
}
296280
})
297281
298282
export const truncate = (path, len) => new Promise((resolve, reject) => {
299-
__fs.truncate(pathResolve(path), len, (err) => {
300-
if (err) {
301-
reject(err)
302-
} else {
303-
resolve()
304-
}
305-
})
283+
try {
284+
__fs.truncateSync(pathResolve(path), len)
285+
resolve()
286+
} catch (err) {
287+
reject(err)
288+
}
306289
})
307290
308291
export const unlink = (path) => new Promise((resolve, reject) => {
309-
__fs.unlink(pathResolve(path), (err) => {
310-
if (err) {
311-
reject(err)
312-
} else {
313-
resolve()
314-
}
315-
})
292+
try {
293+
__fs.unlinkSync(pathResolve(path))
294+
resolve()
295+
} catch (err) {
296+
reject(err)
297+
}
316298
})
317299
318300
export const utimes = (path, atime, mtime) => new Promise((resolve, reject) => {
319-
__fs.utimes(pathResolve(path), atime, mtime, (err) => {
320-
if (err) {
321-
reject(err)
322-
} else {
323-
resolve()
324-
}
325-
})
301+
try {
302+
__fs.utimesSync(pathResolve(path), atime, mtime)
303+
resolve()
304+
} catch (err) {
305+
reject(err)
306+
}
326307
})
327308
328309
export const write = (fd, buffer, offset, length, position) => new Promise((resolve, reject) => {

src/test/async/fsModule-links.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from 'bun:test'
22
import { loadAsyncQuickJs } from '../../loadAsyncQuickJs.js'
33
import type { OkResponse } from '../../types/OkResponse.js'
44

5-
describe.skip('async - node:fs - links', () => {
5+
describe('async - node:fs - links', () => {
66
let runtime: Awaited<ReturnType<typeof loadAsyncQuickJs>>
77
const testFilePath = '/test.txt'
88
const testFileContent = 'example content'

src/test/async/fsModule-permissions.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from 'bun:test'
22
import { loadAsyncQuickJs } from '../../loadAsyncQuickJs.js'
33
import type { OkResponse } from '../../types/OkResponse.js'
44

5-
describe.skip('async - node:fs - permissions', () => {
5+
describe('async - node:fs - permissions', () => {
66
let runtime: Awaited<ReturnType<typeof loadAsyncQuickJs>>
77
const testFilePath = '/test.txt'
88
const testFileContent = 'example content'

src/test/sync/fsModule-links.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from 'bun:test'
22
import { loadQuickJs } from '../../loadQuickJs.js'
33
import type { OkResponse } from '../../types/OkResponse.js'
44

5-
describe.skip('sync - node:fs - links', () => {
5+
describe('sync - node:fs - links', () => {
66
let runtime: Awaited<ReturnType<typeof loadQuickJs>>
77
const testFilePath = '/test.txt'
88
const testFileContent = 'example content'

src/test/sync/fsModule-permissions.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from 'bun:test'
22
import { loadQuickJs } from '../../loadQuickJs.js'
33
import type { OkResponse } from '../../types/OkResponse.js'
44

5-
describe.skip('sync - node:fs - permissions', () => {
5+
describe('sync - node:fs - permissions', () => {
66
let runtime: Awaited<ReturnType<typeof loadQuickJs>>
77
const testFilePath = '/test.txt'
88
const testFileContent = 'example content'

0 commit comments

Comments
 (0)