Skip to content

Commit

Permalink
test: add test to verify ErrnoException path
Browse files Browse the repository at this point in the history
This commit adds a test to verify that the path argument to
ErrnoException can contain UTF-8 characters.

PR-URL: #13958
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
  • Loading branch information
danbev committed Aug 14, 2017
1 parent e6eb5c0 commit 95c8df1
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 0 deletions.
18 changes: 18 additions & 0 deletions test/addons/errno-exception/binding.cc
Original file line number Diff line number Diff line change
@@ -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 changes: 9 additions & 0 deletions test/addons/errno-exception/binding.gyp
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
'targets': [
{
'target_name': 'binding',
'defines': [ 'V8_DEPRECATION_WARNINGS=1' ],
'sources': [ 'binding.cc' ]
}
]
}
15 changes: 15 additions & 0 deletions test/addons/errno-exception/test.js
Original file line number Diff line number Diff line change
@@ -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()));

0 comments on commit 95c8df1

Please sign in to comment.