summaryrefslogtreecommitdiff
path: root/test/addons/errno-exception
diff options
context:
space:
mode:
authorDaniel Bevenius <daniel.bevenius@gmail.com>2017-06-30 09:25:00 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2017-08-14 07:24:22 +0200
commit95c8df18f139ae3c2eb930018556683bc4c0807d (patch)
treeadff0f630fe5dde0f6eac8382b0e2c2f27ca01cc /test/addons/errno-exception
parente6eb5c00dada92754a4d1c33e52fae70047d1b59 (diff)
downloadandroid-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.cc18
-rw-r--r--test/addons/errno-exception/binding.gyp9
-rw-r--r--test/addons/errno-exception/test.js15
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()));