summaryrefslogtreecommitdiff
path: root/test_napi/src
diff options
context:
space:
mode:
Diffstat (limited to 'test_napi/src')
-rw-r--r--test_napi/src/lib.rs3
-rw-r--r--test_napi/src/mem.rs34
2 files changed, 37 insertions, 0 deletions
diff --git a/test_napi/src/lib.rs b/test_napi/src/lib.rs
index 78a8248dc..71258ee7f 100644
--- a/test_napi/src/lib.rs
+++ b/test_napi/src/lib.rs
@@ -13,6 +13,7 @@ pub mod callback;
pub mod coerce;
pub mod date;
pub mod error;
+pub mod mem;
pub mod numbers;
pub mod object_wrap;
pub mod primitives;
@@ -152,6 +153,8 @@ unsafe extern "C" fn napi_register_module_v1(
r#async::init(env, exports);
date::init(env, exports);
tsfn::init(env, exports);
+ mem::init(env, exports);
+
init_cleanup_hook(env, exports);
exports
diff --git a/test_napi/src/mem.rs b/test_napi/src/mem.rs
new file mode 100644
index 000000000..dde4418cb
--- /dev/null
+++ b/test_napi/src/mem.rs
@@ -0,0 +1,34 @@
+// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+
+use crate::assert_napi_ok;
+use crate::napi_new_property;
+use napi_sys::*;
+use std::ptr;
+
+extern "C" fn adjust_external_memory(
+ env: napi_env,
+ _: napi_callback_info,
+) -> napi_value {
+ let mut adjusted_value = 0;
+
+ assert_napi_ok!(napi_adjust_external_memory(env, 1024, &mut adjusted_value));
+
+ let mut result = ptr::null_mut();
+ assert_napi_ok!(napi_create_int64(env, adjusted_value, &mut result));
+ result
+}
+
+pub fn init(env: napi_env, exports: napi_value) {
+ let properties = &[napi_new_property!(
+ env,
+ "adjust_external_memory",
+ adjust_external_memory
+ )];
+
+ assert_napi_ok!(napi_define_properties(
+ env,
+ exports,
+ properties.len(),
+ properties.as_ptr()
+ ));
+}