mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
Introduce atom.directory-provider service.
A `Project` will always have a `DefaultDirectoryProvider` that will be used if there are no other `DirectoryProvider` objects that can produce a `Directory` for a path.
This commit is contained in:
@@ -11,6 +11,25 @@ describe "DefaultDirectoryProvider", ->
|
||||
directory = provider.directoryForURISync(tmp)
|
||||
expect(directory.getPath()).toEqual tmp
|
||||
|
||||
it "normalizes its input before creating a Directory for it", ->
|
||||
provider = new DefaultDirectoryProvider()
|
||||
tmp = temp.mkdirSync()
|
||||
nonNormalizedPath = tmp + path.sep + ".." + path.sep + path.basename(tmp)
|
||||
expect(tmp.contains("..")).toBe false
|
||||
expect(nonNormalizedPath.contains("..")).toBe true
|
||||
|
||||
directory = provider.directoryForURISync(nonNormalizedPath)
|
||||
expect(directory.getPath()).toEqual tmp
|
||||
|
||||
it "creates a Directory for its parent dir when passed a file", ->
|
||||
provider = new DefaultDirectoryProvider()
|
||||
tmp = temp.mkdirSync()
|
||||
file = path.join(tmp, 'example.txt')
|
||||
fs.writeFileSync(file, 'data')
|
||||
|
||||
directory = provider.directoryForURISync(file)
|
||||
expect(directory.getPath()).toEqual tmp
|
||||
|
||||
describe ".directoryForURI(uri)", ->
|
||||
it "returns a Promise that resolves to a Directory with a path that matches the uri", ->
|
||||
provider = new DefaultDirectoryProvider()
|
||||
|
||||
Reference in New Issue
Block a user