Fix #247 - sh.cwd() not updating cwd on success, with test.
This commit is contained in:
parent
e9eae3549b
commit
5b785037f0
|
@ -36,7 +36,7 @@ function Shell(fs, options) {
|
|||
* we can access cwd without exposing it externally.
|
||||
*/
|
||||
this.cd = function(path, callback) {
|
||||
path = Path.resolve(this.cwd, path);
|
||||
path = Path.resolve(cwd, path);
|
||||
// Make sure the path actually exists, and is a dir
|
||||
fs.stat(path, function(err, stats) {
|
||||
if(err) {
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
var Filer = require('../..');
|
||||
var util = require('../lib/test-utils.js');
|
||||
var expect = require('chai').expect;
|
||||
|
||||
describe('sh.cd doesn\'t seem to be working from a relative path if I am one or more folders deep, #247', function() {
|
||||
beforeEach(util.setup);
|
||||
afterEach(util.cleanup);
|
||||
|
||||
it('should properly deal with relative paths missing ./ and ../', function(done) {
|
||||
var fs = util.fs();
|
||||
var sh = fs.Shell();
|
||||
|
||||
sh.mkdirp('/home/scott', function(err) {
|
||||
if(err) throw err;
|
||||
|
||||
sh.cd('/', function(err) {
|
||||
if(err) throw err;
|
||||
|
||||
expect(sh.pwd()).to.equal('/');
|
||||
|
||||
sh.cd('home', function(err) {
|
||||
if(err) throw err;
|
||||
|
||||
expect(sh.pwd()).to.equal('/home');
|
||||
|
||||
sh.cd('scott', function(err) {
|
||||
if(err) throw err;
|
||||
|
||||
expect(sh.pwd()).to.equal('/home/scott');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
|
@ -68,4 +68,5 @@ require("./spec/node-js/simple/test-fs-watch-recursive");
|
|||
require("./bugs/issue105");
|
||||
require("./bugs/issue106");
|
||||
require("./bugs/issue239");
|
||||
require("./bugs/ls-depth-bug");
|
||||
require("./bugs/ls-depth-bug");
|
||||
require("./bugs/issue247.js");
|
||||
|
|
Loading…
Reference in New Issue