Skip to content

Commit

Permalink
fs: fix the error report on fs.link(Sync)
Browse files Browse the repository at this point in the history
As the Node.js documentation specified:

> fs.link(srcpath, dstpath, callback)

But when we run:

```js
> fs.link()
```

We will get the below:

```js
TypeError: dest path must be a string
    at TypeError (native)
    at Object.fs.link (fs.js:915:11)
    at repl:1:4
```

Just correct the message of relevant 2 errors in this PR :-)

PR-URL: #3917
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
  • Loading branch information
yorkie authored and jasnell committed Nov 21, 2015
1 parent 9472a0c commit 8b97249
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/node_file.cc
Original file line number Diff line number Diff line change
Expand Up @@ -615,13 +615,13 @@ static void Link(const FunctionCallbackInfo<Value>& args) {

int len = args.Length();
if (len < 1)
return TYPE_ERROR("dest path required");
if (len < 2)
return TYPE_ERROR("src path required");
if (len < 2)
return TYPE_ERROR("dest path required");
if (!args[0]->IsString())
return TYPE_ERROR("dest path must be a string");
if (!args[1]->IsString())
return TYPE_ERROR("src path must be a string");
if (!args[1]->IsString())
return TYPE_ERROR("dest path must be a string");

node::Utf8Value orig_path(env->isolate(), args[0]);
node::Utf8Value new_path(env->isolate(), args[1]);
Expand Down
16 changes: 16 additions & 0 deletions test/parallel/test-fs-link.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,19 @@ const callback = function(err) {
};

fs.link(srcPath, dstPath, common.mustCall(callback));

// test error outputs

assert.throws(
function() {
fs.link();
},
/src path/
);

assert.throws(
function() {
fs.link('abc');
},
/dest path/
);

0 comments on commit 8b97249

Please sign in to comment.