Mercurial > hg > orthanc-stone
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 |