Unverified Commit 24492e1f authored by yann300's avatar yann300 Committed by GitHub

Merge pull request #689 from ethereum/fixFileManagerAPI

Fix removePrefix from fileProvider
parents eafdbeec 6e3ce764
...@@ -105,7 +105,8 @@ module.exports = { ...@@ -105,7 +105,8 @@ module.exports = {
.waitForElementVisible('*[key="browser/fileExplorer.test.js"]') .waitForElementVisible('*[key="browser/fileExplorer.test.js"]')
.waitForElementVisible('*[key="browser/generalSettings.test.js"]') .waitForElementVisible('*[key="browser/generalSettings.test.js"]')
.end() .end()
}, },
tearDown: sauce tearDown: sauce
} }
...@@ -87,7 +87,15 @@ module.exports = { ...@@ -87,7 +87,15 @@ module.exports = {
.addFile('removeFile.js', { content: executeRemove }) .addFile('removeFile.js', { content: executeRemove })
.executeScript(`remix.exeCurrent()`) .executeScript(`remix.exeCurrent()`)
.pause(2000) .pause(2000)
.waitForElementNotPresent('[data-id="treeViewLibrowser/old_contract.sol"]') .waitForElementNotPresent('[data-id="treeViewLibrowser/old_contract.sol"]')
},
'Should execute `remove` api from file manager external api on a folder': function (browser: NightwatchBrowser) {
browser
.addFile('test_jsRemoveFolder.js', { content: executeRemoveOnFolder })
.executeScript('remix.exeCurrent()')
.pause(2000)
.waitForElementNotPresent('*[key="browser/tests"]')
.end() .end()
}, },
...@@ -189,3 +197,11 @@ const executeRemove = ` ...@@ -189,3 +197,11 @@ const executeRemove = `
run() run()
` `
const executeRemoveOnFolder = `(async () => {
try {
await remix.call('fileManager', 'remove', 'browser')
} catch (e) {
console.log(e.message)
}
})()`
...@@ -170,7 +170,7 @@ class FileProvider { ...@@ -170,7 +170,7 @@ class FileProvider {
const items = window.remixFileSystem.readdirSync(path) const items = window.remixFileSystem.readdirSync(path)
if (items.length !== 0) { if (items.length !== 0) {
items.forEach((item, index) => { items.forEach((item, index) => {
const curPath = `${path}/${item}` const curPath = `${path}${path.endsWith('/') ? '' : '/'}${item}`
if (window.remixFileSystem.statSync(curPath).isDirectory()) { // delete folder if (window.remixFileSystem.statSync(curPath).isDirectory()) { // delete folder
this.remove(curPath) this.remove(curPath)
} else { // delete file } else { // delete file
...@@ -238,6 +238,7 @@ class FileProvider { ...@@ -238,6 +238,7 @@ class FileProvider {
removePrefix (path) { removePrefix (path) {
path = path.indexOf(this.type) === 0 ? path.replace(this.type, '') : path path = path.indexOf(this.type) === 0 ? path.replace(this.type, '') : path
if (path === '') return '/'
return path return path
} }
......
...@@ -166,6 +166,7 @@ module.exports = class RemixDProvider { ...@@ -166,6 +166,7 @@ module.exports = class RemixDProvider {
removePrefix (path) { removePrefix (path) {
path = path.indexOf(this.type) === 0 ? path.replace(this.type, '') : path path = path.indexOf(this.type) === 0 ? path.replace(this.type, '') : path
if (path[0] === '/') return path.substring(1) if (path[0] === '/') return path.substring(1)
if (path === '') return '/'
return path return path
} }
......
...@@ -11,9 +11,7 @@ import * as pathModule from 'path' ...@@ -11,9 +11,7 @@ import * as pathModule from 'path'
*/ */
function absolutePath (path: string, sharedFolder:string): string { function absolutePath (path: string, sharedFolder:string): string {
path = normalizePath(path) path = normalizePath(path)
if (path.indexOf(sharedFolder) !== 0) { path = pathModule.resolve(sharedFolder, path)
path = pathModule.resolve(sharedFolder, path)
}
return path return path
} }
...@@ -34,6 +32,7 @@ function normalizePath (path: string): string { ...@@ -34,6 +32,7 @@ function normalizePath (path: string): string {
if (process.platform === 'win32') { if (process.platform === 'win32') {
return path.replace(/\\/g, '/') return path.replace(/\\/g, '/')
} }
if (path === '/') path = './'
return path return path
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment