comparison UnitTestsSources/GenericToolboxTests.cpp @ 1331:ab81ee8fce1f broker

- Viewport is not passed and stored as a shared_ptr instead of raw reference. - ViewportController can now be injected with an undo stack (not a ctor param anymore, as a preparation for the move of the undo stack to an interactor) - Added (temp) flag to disable emscripten events registration in the WebAssemblyViewport (because legacy client code deals with them directly) - Added emscripten_clear_timeout in ~WebGLViewportsRegistry - Removed GenericToolbox::HoldingRef whose responsibility is better served with proper callback un-registration.
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 30 Mar 2020 14:23:46 +0200
parents 8d3e669f01a2
children 5630c2fb7b0f
comparison
equal deleted inserted replaced
1329:8d3e669f01a2 1331:ab81ee8fce1f
4243 EXPECT_EQ(0, red); 4243 EXPECT_EQ(0, red);
4244 EXPECT_EQ(0, green); 4244 EXPECT_EQ(0, green);
4245 EXPECT_EQ(0, blue); 4245 EXPECT_EQ(0, blue);
4246 } 4246 }
4247 4247
4248 static int Test_GenericToolbox_HoldingRef_ctor_trace = 100; 4248
4249 static int Test_GenericToolbox_HoldingRef_dtor_trace = 1000; 4249
4250 4250
4251 class Test_GenericToolbox_HoldingRef : public boost::enable_shared_from_this<Test_GenericToolbox_HoldingRef> 4251
4252 { 4252
4253 public: 4253
4254 Test_GenericToolbox_HoldingRef() : answer_(42) { Test_GenericToolbox_HoldingRef_ctor_trace++; }
4255 unsigned int answer_;
4256
4257 ~Test_GenericToolbox_HoldingRef()
4258 {
4259 Test_GenericToolbox_HoldingRef_dtor_trace--;
4260 }
4261 };
4262
4263 TEST(GenericToolbox, HoldingRef)
4264 {
4265 using namespace OrthancStone::GenericToolbox;
4266
4267 void* userData = NULL;
4268
4269 {
4270 boost::shared_ptr<Test_GenericToolbox_HoldingRef> test(new Test_GenericToolbox_HoldingRef() );
4271 Test_GenericToolbox_HoldingRef* This = test.get();
4272 userData = HoldingRef<Test_GenericToolbox_HoldingRef>::Wrap(This);
4273 EXPECT_EQ(42u,This->answer_);
4274 This->answer_ = 0xdeadbeef;
4275 EXPECT_EQ(0xdeadbeef,This->answer_);
4276 }
4277
4278 EXPECT_EQ(101,Test_GenericToolbox_HoldingRef_ctor_trace);
4279 EXPECT_EQ(1000,Test_GenericToolbox_HoldingRef_dtor_trace);
4280
4281 {
4282 boost::shared_ptr<Test_GenericToolbox_HoldingRef> test2 = HoldingRef<Test_GenericToolbox_HoldingRef>::Unwrap(userData);
4283 EXPECT_EQ(0xdeadbeef,test2->answer_);
4284 }
4285
4286 EXPECT_EQ(999,Test_GenericToolbox_HoldingRef_dtor_trace); // make sure wrapper was deleted once
4287 }
4288
4289
4290
4291
4292
4293
4294