Skip to content

Commit d70d3b4

Browse files
authored
Merge pull request #2672 from arkist/handle-encoded-uri-on-copyfile
Handle encoded uri path on `copyFile`
2 parents 56851eb + cf35dc5 commit d70d3b4

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

browser/main/lib/dataApi/copyFile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function copyFile (srcPath, dstPath) {
1616
const dstFolder = path.dirname(dstPath)
1717
if (!fs.existsSync(dstFolder)) fs.mkdirSync(dstFolder)
1818

19-
const input = fs.createReadStream(srcPath)
19+
const input = fs.createReadStream(decodeURI(srcPath))
2020
const output = fs.createWriteStream(dstPath)
2121

2222
output.on('error', reject)

tests/dataApi/copyFile-test.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
const test = require('ava')
2+
const copyFile = require('browser/main/lib/dataApi/copyFile')
3+
4+
const path = require('path')
5+
const fs = require('fs')
6+
7+
const testFile = 'test.txt'
8+
const srcFolder = path.join(__dirname, '🤔')
9+
const srcPath = path.join(srcFolder, testFile)
10+
const dstFolder = path.join(__dirname, '😇')
11+
const dstPath = path.join(dstFolder, testFile)
12+
13+
test.before((t) => {
14+
if (!fs.existsSync(srcFolder)) fs.mkdirSync(srcFolder)
15+
16+
fs.writeFileSync(srcPath, 'test')
17+
})
18+
19+
test('`copyFile` should handle encoded URI on src path', (t) => {
20+
return copyFile(encodeURI(srcPath), dstPath)
21+
.then(() => {
22+
t.true(true)
23+
})
24+
.catch(() => {
25+
t.true(false)
26+
})
27+
})
28+
29+
test.after((t) => {
30+
fs.unlinkSync(srcPath)
31+
fs.unlinkSync(dstPath)
32+
fs.rmdirSync(srcFolder)
33+
fs.rmdirSync(dstFolder)
34+
})
35+

0 commit comments

Comments
 (0)