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.

PR-URL: #19086
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
  • Loading branch information
Gabriel Schulhof committed Mar 4, 2018
1 parent 68d508a commit d83f830
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 d83f830

Please sign in to comment.