@@ -107,6 +107,22 @@ static napi_value staticBuffer(napi_env env, napi_callback_info info) {
107107 return theBuffer ;
108108}
109109
110+ static napi_value invalidObjectAsBuffer (napi_env env , napi_callback_info info ) {
111+ size_t argc = 1 ;
112+ napi_value args [1 ];
113+ NODE_API_CALL (env , napi_get_cb_info (env , info , & argc , args , NULL , NULL ));
114+ NODE_API_ASSERT (env , argc == 1 , "Wrong number of arguments" );
115+
116+ napi_value notTheBuffer = args [0 ];
117+ napi_status status = napi_get_buffer_info (env , notTheBuffer , NULL , NULL );
118+ NODE_API_ASSERT (env ,
119+ status == napi_invalid_arg ,
120+ "napi_get_buffer_info: should fail with napi_invalid_arg "
121+ "when passed non buffer" );
122+
123+ return notTheBuffer ;
124+ }
125+
110126static napi_value Init (napi_env env , napi_value exports ) {
111127 napi_value theValue ;
112128
@@ -123,6 +139,7 @@ static napi_value Init(napi_env env, napi_value exports) {
123139 DECLARE_NODE_API_PROPERTY ("bufferHasInstance" , bufferHasInstance ),
124140 DECLARE_NODE_API_PROPERTY ("bufferInfo" , bufferInfo ),
125141 DECLARE_NODE_API_PROPERTY ("staticBuffer" , staticBuffer ),
142+ DECLARE_NODE_API_PROPERTY ("invalidObjectAsBuffer" , invalidObjectAsBuffer ),
126143 };
127144
128145 NODE_API_CALL (env , napi_define_properties (
0 commit comments