mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-22 00:19:24 +03:00
TreeView's add
and move
create intermediate directories as needed
This commit is contained in:
parent
4cf4456635
commit
3aaa8ad8f0
@ -488,15 +488,15 @@ describe "TreeView", ->
|
||||
describe "when the path with a trailing '/' is changed and confirmed", ->
|
||||
describe "when no file or directory exists at the given path", ->
|
||||
it "adds a directory and closes the dialog", ->
|
||||
newPath = fs.join(dirPath, "new-dir")
|
||||
addDialog.miniEditor.insertText("new-dir/")
|
||||
newPath = fs.join(dirPath, "new/dir")
|
||||
addDialog.miniEditor.insertText("new/dir/")
|
||||
addDialog.trigger 'tree-view:confirm'
|
||||
expect(fs.exists(newPath)).toBeTruthy()
|
||||
expect(fs.isDirectory(newPath)).toBeTruthy()
|
||||
expect(addDialog.parent()).not.toExist()
|
||||
expect(rootView.getActiveEditor().buffer.getPath()).not.toBe newPath
|
||||
|
||||
describe "when a or directory already exists at the given path", ->
|
||||
describe "when a file or directory already exists at the given path", ->
|
||||
it "shows an error message and does not close the dialog", ->
|
||||
newPath = fs.join(dirPath, "new-dir")
|
||||
fs.makeDirectory(newPath)
|
||||
@ -587,7 +587,7 @@ describe "TreeView", ->
|
||||
describe "when the directories along the new path don't exist", ->
|
||||
it "creates the target directory before moving the file", ->
|
||||
runs ->
|
||||
newPath = fs.join(rootDirPath, 'new-directory', 'renamed-test-file.txt')
|
||||
newPath = fs.join(rootDirPath, 'new/directory', 'renamed-test-file.txt')
|
||||
moveDialog.miniEditor.setText(newPath)
|
||||
|
||||
moveDialog.trigger 'tree-view:confirm'
|
||||
|
@ -171,7 +171,7 @@ class TreeView extends View
|
||||
newPath = @rootView.project.resolve(newPath)
|
||||
directoryPath = fs.directory(newPath)
|
||||
try
|
||||
fs.makeDirectory(directoryPath) unless fs.exists(directoryPath)
|
||||
fs.makeTree(directoryPath) unless fs.exists(directoryPath)
|
||||
fs.move(oldPath, newPath)
|
||||
catch e
|
||||
dialog.showError("Error: " + e.message + " Try a different path:")
|
||||
@ -208,15 +208,15 @@ class TreeView extends View
|
||||
endsWithDirectorySeperator = /\/$/.test(relativePath)
|
||||
path = @rootView.project.resolve(relativePath)
|
||||
try
|
||||
if endsWithDirectorySeperator
|
||||
fs.makeDirectory(path)
|
||||
if fs.exists(path)
|
||||
pathType = if fs.isFile(path) then "file" else "directory"
|
||||
dialog.showError("Error: A #{pathType} already exists at path '#{path}'. Try a different path:")
|
||||
false
|
||||
else if endsWithDirectorySeperator
|
||||
fs.makeTree(path)
|
||||
else
|
||||
if fs.exists(path)
|
||||
dialog.showError("Error: A file already exists at path '#{path}'. Try a different path:")
|
||||
false
|
||||
else
|
||||
fs.write(path, "")
|
||||
@rootView.open(path)
|
||||
fs.write(path, "")
|
||||
@rootView.open(path)
|
||||
catch e
|
||||
dialog.showError("Error: " + e.message + " Try a different path:")
|
||||
return false
|
||||
|
Loading…
Reference in New Issue
Block a user