Skip to content

Commit

Permalink
n-api: update reference test
Browse files Browse the repository at this point in the history
Remove the necessity for allocating on the heap, and assert that the
correct pointer gets passed to the finalizer.

Backport-PR-URL: #19447
PR-URL: #19086
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
  • Loading branch information
Gabriel Schulhof authored and MylesBorins committed Apr 16, 2018
1 parent 10fe65a commit af62c8f
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions test/addons-napi/test_reference/test_reference.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include <node_api.h>
#include "../common.h"
#include <stdlib.h>

static int test_value = 1;
static int finalize_count = 0;
Expand All @@ -13,7 +12,9 @@ napi_value GetFinalizeCount(napi_env env, napi_callback_info info) {
}

void FinalizeExternal(napi_env env, void* data, void* hint) {
free(data);
int *actual_value = data;
NAPI_ASSERT_RETURN_VOID(env, actual_value == &test_value,
"The correct pointer was passed to the finalizer");
finalize_count++;
}

Expand All @@ -33,13 +34,10 @@ napi_value CreateExternal(napi_env env, napi_callback_info info) {
}

napi_value CreateExternalWithFinalize(napi_env env, napi_callback_info info) {
int* data = malloc(sizeof(int));
*data = test_value;

napi_value result;
NAPI_CALL(env,
napi_create_external(env,
data,
&test_value,
FinalizeExternal,
NULL, /* finalize_hint */
&result));
Expand Down

0 comments on commit af62c8f

Please sign in to comment.