def test_walk_trips_at_node_path(): ("Node#walk() trips at node.path") nd = Node("/foo/bar/") nd.trip_at = Mock() nd.walk() nd.walk(lazy=True) nd.trip_at.assert_has_calls([ call('/foo/bar', lazy=False), call('/foo/bar', lazy=True), ])
def test_find_find_with_regexs_and_get_the_first_one_none(exists): ('Node#find returns the None if nothing is found') nd = Node('/foo/bar') nd.walk = Mock() nd.walk.return_value = [ "/foo/wisdom/aaa.py", "/foo/wisdom/bbb.txt", "/foo/wisdom/ccc.php", "/foo/wisdom/ddd.py", ] ret = nd.find('^$') ret.should.be.none nd.walk.assert_called_once_with(lazy=True)
def test_find_find_with_regexs_and_get_the_first_one(exists): ('Node#find returns the first result from find_with_regex when found') nd = Node('/foo/bar') nd.walk = Mock() nd.walk.return_value = [ "/foo/wisdom/aaa.py", "/foo/wisdom/bbb.txt", "/foo/wisdom/ccc.php", "/foo/wisdom/ddd.py", ] ret = nd.find('[.]\w{3}$') ret.should.be.a(Node) ret.should.equal(Node("/foo/wisdom/bbb.txt")) nd.walk.assert_called_once_with(lazy=True)
def test_glob_filters_results_from_walk_using_fnmatch_nonlazy(exists): ('Node#glob returns an evaluated list of nodes') nd = Node('/foo/bar') nd.walk = Mock() nd.walk.return_value = [ "/foo/wisdom/aaa.py", "/foo/wisdom/bbb.txt", "/foo/wisdom/ccc.php", "/foo/wisdom/ddd.py", ] ret = nd.glob('*.py', lazy=False) ret.should.be.a(list) ret.should.equal([ Node("/foo/wisdom/aaa.py"), Node("/foo/wisdom/ddd.py"), ]) nd.walk.assert_called_once_with(lazy=False)
def test_glob_filters_results_from_walk_using_fnmatch(exists): ('Node#glob returns a lazy list of nodes') nd = Node('/foo/bar') nd.walk = Mock() nd.walk.return_value = [ "/foo/wisdom/aaa.py", "/foo/wisdom/bbb.txt", "/foo/wisdom/ccc.php", "/foo/wisdom/ddd.py", ] ret = nd.glob('*.py', lazy='passed-to-walk') ret.should.be.a('types.GeneratorType') list(ret).should.equal([ Node("/foo/wisdom/aaa.py"), Node("/foo/wisdom/ddd.py"), ]) nd.walk.assert_called_once_with(lazy='passed-to-walk')
def test_find_with_regex_filters_results_from_walk_using_regex_nonlazy(exists): ('Node#find_with_regex returns an evaluated list of nodes') nd = Node('/foo/bar') nd.walk = Mock() nd.walk.return_value = [ "/foo/wisdom/aaa.py", "/foo/wisdom/bbb.txt", "/foo/wisdom/ccc.php", "/foo/wisdom/ddd.py", ] ret = nd.find_with_regex('[.]\w{3}$', lazy=False) ret.should.be.a(list) ret.should.equal([ Node("/foo/wisdom/bbb.txt"), Node("/foo/wisdom/ccc.php"), ]) nd.walk.assert_called_once_with(lazy=False)