Skip to content

Commit bb2d841

Browse files
author
Alan Shaw
authored
fix: number is not a valid mtime value (#24)
* fix: number is not a valid mtime value See https://github.com/ipfs/js-ipfs-unixfs#create-an-unixfs-data-element - it should be `Date | object | array`. Ends up ignored https://github.com/ipfs/js-ipfs-unixfs/blob/master/src/index.js#L104-L106 * refactor: use stat.mtime, it is already a Date
1 parent e582304 commit bb2d841

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

src/files/glob-source.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ module.exports = async function * globSource (paths, options) {
5959
let mtime = options.mtime
6060

6161
if (options.preserveMtime) {
62-
mtime = parseInt(stat.mtimeMs / 1000)
62+
mtime = stat.mtime
6363
}
6464

6565
if (stat.isDirectory()) {
@@ -122,7 +122,7 @@ async function * toGlobSource ({ path, type, prefix, mode, mtime, preserveMode,
122122
}
123123

124124
if (preserveMtime) {
125-
mtime = parseInt(stat.mtimeMs / 1000)
125+
mtime = stat.mtime
126126
}
127127
}
128128

test/files/glob-source.spec.js

+14-14
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function findMode (file) {
2525
}
2626

2727
function findMtime (file) {
28-
return parseInt(fs.statSync(fixture(file)).mtimeMs / 1000)
28+
return fs.statSync(fixture(file)).mtime
2929
}
3030

3131
describe('glob-source', () => {
@@ -193,17 +193,17 @@ describe('glob-source', () => {
193193

194194
expect(result).to.have.lengthOf(6)
195195
expect(result).to.have.nested.property('[0].path', '/dir')
196-
expect(result).to.have.nested.property('[0].mtime', findMtime('/dir'))
196+
expect(result).to.have.deep.nested.property('[0].mtime', findMtime('/dir'))
197197
expect(result).to.have.nested.property('[1].path', '/dir/file-1.txt')
198-
expect(result).to.have.nested.property('[1].mtime', findMtime('/dir/file-1.txt'))
198+
expect(result).to.have.deep.nested.property('[1].mtime', findMtime('/dir/file-1.txt'))
199199
expect(result).to.have.nested.property('[2].path', '/dir/file-2.js')
200-
expect(result).to.have.nested.property('[2].mtime', findMtime('/dir/file-2.js'))
200+
expect(result).to.have.deep.nested.property('[2].mtime', findMtime('/dir/file-2.js'))
201201
expect(result).to.have.nested.property('[3].path', '/dir/file-3.css')
202-
expect(result).to.have.nested.property('[3].mtime', findMtime('/dir/file-3.css'))
202+
expect(result).to.have.deep.nested.property('[3].mtime', findMtime('/dir/file-3.css'))
203203
expect(result).to.have.nested.property('[4].path', '/dir/nested-dir')
204-
expect(result).to.have.nested.property('[4].mtime', findMtime('/dir/nested-dir'))
204+
expect(result).to.have.deep.nested.property('[4].mtime', findMtime('/dir/nested-dir'))
205205
expect(result).to.have.nested.property('[5].path', '/dir/nested-dir/other.txt')
206-
expect(result).to.have.nested.property('[5].mtime', findMtime('/dir/nested-dir/other.txt'))
206+
expect(result).to.have.deep.nested.property('[5].mtime', findMtime('/dir/nested-dir/other.txt'))
207207
})
208208

209209
it('overrides mtime for directories', async function () {
@@ -213,21 +213,21 @@ describe('glob-source', () => {
213213

214214
const result = await all(globSource(fixture('/dir'), {
215215
recursive: true,
216-
mtime: 5
216+
mtime: new Date(5)
217217
}))
218218

219219
expect(result).to.have.lengthOf(6)
220220
expect(result).to.have.nested.property('[0].path', '/dir')
221-
expect(result).to.have.nested.property('[0].mtime', 5)
221+
expect(result).to.have.deep.nested.property('[0].mtime', new Date(5))
222222
expect(result).to.have.nested.property('[1].path', '/dir/file-1.txt')
223-
expect(result).to.have.nested.property('[1].mtime', 5)
223+
expect(result).to.have.deep.nested.property('[1].mtime', new Date(5))
224224
expect(result).to.have.nested.property('[2].path', '/dir/file-2.js')
225-
expect(result).to.have.nested.property('[2].mtime', 5)
225+
expect(result).to.have.deep.nested.property('[2].mtime', new Date(5))
226226
expect(result).to.have.nested.property('[3].path', '/dir/file-3.css')
227-
expect(result).to.have.nested.property('[3].mtime', 5)
227+
expect(result).to.have.deep.nested.property('[3].mtime', new Date(5))
228228
expect(result).to.have.nested.property('[4].path', '/dir/nested-dir')
229-
expect(result).to.have.nested.property('[4].mtime', 5)
229+
expect(result).to.have.deep.nested.property('[4].mtime', new Date(5))
230230
expect(result).to.have.nested.property('[5].path', '/dir/nested-dir/other.txt')
231-
expect(result).to.have.nested.property('[5].mtime', 5)
231+
expect(result).to.have.deep.nested.property('[5].mtime', new Date(5))
232232
})
233233
})

0 commit comments

Comments
 (0)