From 8b97249893390d144630382f17a98fe0f804a492 Mon Sep 17 00:00:00 2001 From: yorkie Date: Thu, 19 Nov 2015 22:24:19 +0800 Subject: [PATCH] fs: fix the error report on fs.link(Sync) 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: https://github.com/nodejs/node/pull/3917 Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- src/node_file.cc | 8 ++++---- test/parallel/test-fs-link.js | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/node_file.cc b/src/node_file.cc index b84e0e44c4..2bd32d7daa 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -615,13 +615,13 @@ static void Link(const FunctionCallbackInfo& 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]); diff --git a/test/parallel/test-fs-link.js b/test/parallel/test-fs-link.js index 4e95d20f7b..acbedc1452 100644 --- a/test/parallel/test-fs-link.js +++ b/test/parallel/test-fs-link.js @@ -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/ +);