diff --git a/src/tree.coffee b/src/tree.coffee index c0c5d5f..275b9ab 100644 --- a/src/tree.coffee +++ b/src/tree.coffee @@ -58,7 +58,9 @@ module.exports = class Tree # find: (file, callback) -> if /\//.test file - [dir, rest] = file.split "/", 2 + path_components = file.split "/" + dir = path_components[0] + rest = path_components.slice(1, path_components.length).join("/") @trees (err, _trees) => for tree in _trees return tree.find rest, callback if tree.name == dir diff --git a/test/tree.test.coffee b/test/tree.test.coffee index f10555b..bb25591 100644 --- a/test/tree.test.coffee +++ b/test/tree.test.coffee @@ -118,6 +118,17 @@ describe "Tree", -> blob.should.be.an.instanceof Blob blob.name.should.eql "hi.txt" + #describe "find inside nested directory", -> + # blob = null + # before (done) -> + # tree.find "some/nested/nested_file.txt", (err, _blob) -> + # blob = _blob + # done err + + # it "finds the Blob", -> + # blob.should.be.an.instancedof Blob + # blob.name.should.eql "nested_file.txt" + describe "find a nonexistant file", -> subtree = null before (done) ->