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>
This commit is contained in:
parent
e6eb5c00da
commit
95c8df18f1
18
test/addons/errno-exception/binding.cc
Normal file
18
test/addons/errno-exception/binding.cc
Normal file
@ -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)
|
9
test/addons/errno-exception/binding.gyp
Normal file
9
test/addons/errno-exception/binding.gyp
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'binding',
|
||||
'defines': [ 'V8_DEPRECATION_WARNINGS=1' ],
|
||||
'sources': [ 'binding.cc' ]
|
||||
}
|
||||
]
|
||||
}
|
15
test/addons/errno-exception/test.js
Normal file
15
test/addons/errno-exception/test.js
Normal file
@ -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()));
|
Loading…
x
Reference in New Issue
Block a user