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