detail: improve ScopedCancelHandle
This also removes deprecated implicit conversion operators
from 'FooHandle' types to 'const FooId*'
Change-Id: I5b412bf833bb106b8f5aa483dbe09b6c58736e19
diff --git a/tests/unit/util/scheduler.t.cpp b/tests/unit/util/scheduler.t.cpp
index d403a7c..021c1f0 100644
--- a/tests/unit/util/scheduler.t.cpp
+++ b/tests/unit/util/scheduler.t.cpp
@@ -249,7 +249,7 @@
BOOST_CHECK(eid == EventId{});
}
-BOOST_AUTO_TEST_CASE(Valid)
+BOOST_AUTO_TEST_CASE(OperatorBool)
{
EventId eid;
BOOST_CHECK_EQUAL(static_cast<bool>(eid), false);
@@ -366,6 +366,26 @@
BOOST_CHECK_EQUAL(hit, 2);
}
+BOOST_AUTO_TEST_CASE(OperatorBool)
+{
+ ScopedEventId se;
+ BOOST_CHECK_EQUAL(static_cast<bool>(se), false);
+ BOOST_CHECK_EQUAL(!se, true);
+
+ se = scheduler.schedule(10_ms, []{});
+ BOOST_CHECK_EQUAL(static_cast<bool>(se), true);
+ BOOST_CHECK_EQUAL(!se, false);
+
+ se.cancel();
+ BOOST_CHECK(!se);
+
+ se = scheduler.schedule(10_ms, []{});
+ BOOST_CHECK(se);
+
+ se.release();
+ BOOST_CHECK(!se);
+}
+
BOOST_AUTO_TEST_SUITE_END() // ScopedEventId
BOOST_AUTO_TEST_SUITE_END() // TestScheduler