diff options
author | Daniel Bevenius <daniel.bevenius@gmail.com> | 2017-06-30 09:25:00 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2017-08-14 07:24:22 +0200 |
commit | 95c8df18f139ae3c2eb930018556683bc4c0807d (patch) | |
tree | adff0f630fe5dde0f6eac8382b0e2c2f27ca01cc /test/addons/errno-exception | |
parent | e6eb5c00dada92754a4d1c33e52fae70047d1b59 (diff) | |
download | android-node-v8-95c8df18f139ae3c2eb930018556683bc4c0807d.tar.gz android-node-v8-95c8df18f139ae3c2eb930018556683bc4c0807d.tar.bz2 android-node-v8-95c8df18f139ae3c2eb930018556683bc4c0807d.zip |
test: add test to verify ErrnoException path
This commit adds a test to verify that the path argument to
ErrnoException can contain UTF-8 characters.
PR-URL: https://github.com/nodejs/node/pull/13958
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'test/addons/errno-exception')
-rw-r--r-- | test/addons/errno-exception/binding.cc | 18 | ||||
-rw-r--r-- | test/addons/errno-exception/binding.gyp | 9 | ||||
-rw-r--r-- | test/addons/errno-exception/test.js | 15 |
3 files changed, 42 insertions, 0 deletions
diff --git a/test/addons/errno-exception/binding.cc b/test/addons/errno-exception/binding.cc new file mode 100644 index 0000000000..1c3147ff7a --- /dev/null +++ b/test/addons/errno-exception/binding.cc @@ -0,0 +1,18 @@ +#include <node.h> +#include <v8.h> + +void Method(const v8::FunctionCallbackInfo<v8::Value>& args) { + v8::Isolate* isolate = args.GetIsolate(); + v8::HandleScope scope(isolate); + args.GetReturnValue().Set(node::ErrnoException(isolate, + 10, + "syscall", + "some error msg", + "päth")); +} + +void init(v8::Local<v8::Object> exports) { + NODE_SET_METHOD(exports, "errno", Method); +} + +NODE_MODULE(binding, init) diff --git a/test/addons/errno-exception/binding.gyp b/test/addons/errno-exception/binding.gyp new file mode 100644 index 0000000000..7ede63d94a --- /dev/null +++ b/test/addons/errno-exception/binding.gyp @@ -0,0 +1,9 @@ +{ + 'targets': [ + { + 'target_name': 'binding', + 'defines': [ 'V8_DEPRECATION_WARNINGS=1' ], + 'sources': [ 'binding.cc' ] + } + ] +} diff --git a/test/addons/errno-exception/test.js b/test/addons/errno-exception/test.js new file mode 100644 index 0000000000..ddc13b7ce5 --- /dev/null +++ b/test/addons/errno-exception/test.js @@ -0,0 +1,15 @@ +'use strict'; + +const common = require('../../common'); + +// Verify that the path argument to node::ErrnoException() can contain UTF-8 +// characters. + +const assert = require('assert'); +const binding = require(`./build/${common.buildType}/binding`); +const err = binding.errno(); + +assert.strictEqual(err.syscall, 'syscall'); +assert.strictEqual(err.errno, 10); +assert.strictEqual(err.path, 'päth'); +assert.ok(/^Error:\s\w+, some error msg 'päth'$/.test(err.toString())); |