Browse Source

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>
v6
Daniel Bevenius 8 years ago
parent
commit
95c8df18f1
  1. 18
      test/addons/errno-exception/binding.cc
  2. 9
      test/addons/errno-exception/binding.gyp
  3. 15
      test/addons/errno-exception/test.js

18
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)

9
test/addons/errno-exception/binding.gyp

@ -0,0 +1,9 @@
{
'targets': [
{
'target_name': 'binding',
'defines': [ 'V8_DEPRECATION_WARNINGS=1' ],
'sources': [ 'binding.cc' ]
}
]
}

15
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()));
Loading…
Cancel
Save