MCPcopy Index your code
hub / github.com/nodejs/node-addon-api / MoveOperatorsTest

Function MoveOperatorsTest

test/object_reference.cc:50–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48}
49
50void MoveOperatorsTest(const Napi::CallbackInfo& info) {
51 Napi::ObjectReference existingRef;
52 Napi::ObjectReference existingRef2;
53 Napi::Object testObject = Napi::Object::New(info.Env());
54 testObject.Set("testProp", "tProp");
55
56 // ObjectReference(Reference<Object>&& other);
57 Napi::Reference<Napi::Object> refObj =
58 Napi::Reference<Napi::Object>::New(testObject);
59 Napi::ObjectReference objRef = std::move(refObj);
60 std::string prop = MaybeUnwrap(objRef.Get("testProp")).As<Napi::String>();
61 assert(prop == "tProp");
62
63 // ObjectReference& operator=(Reference<Object>&& other);
64 Napi::Reference<Napi::Object> refObj2 =
65 Napi::Reference<Napi::Object>::New(testObject);
66 existingRef = std::move(refObj2);
67 prop = MaybeUnwrap(existingRef.Get("testProp")).As<Napi::String>();
68 assert(prop == "tProp");
69
70 // ObjectReference(ObjectReference&& other);
71 Napi::ObjectReference objRef3 = std::move(existingRef);
72 prop = MaybeUnwrap(objRef3.Get("testProp")).As<Napi::String>();
73 assert(prop == "tProp");
74
75 // ObjectReference& operator=(ObjectReference&& other);
76 existingRef2 = std::move(objRef3);
77 prop = MaybeUnwrap(objRef.Get("testProp")).As<Napi::String>();
78 assert(prop == "tProp");
79}
80
81void SetObjectWithCStringKey(Napi::ObjectReference& obj,
82 Napi::Value key,

Callers

nothing calls this directly

Calls 4

MaybeUnwrapFunction · 0.85
EnvMethod · 0.80
SetMethod · 0.80
GetMethod · 0.80

Tested by

no test coverage detected