Quellcode durchsuchen

sigh: more tests

Michele Caini vor 6 Jahren
Ursprung
Commit
52e7b50e9b
1 geänderte Dateien mit 16 neuen und 3 gelöschten Zeilen
  1. 16 3
      test/entt/signal/sigh.cpp

+ 16 - 3
test/entt/signal/sigh.cpp

@@ -243,14 +243,27 @@ TEST(SigH, ScopedConnectionConstructorsAndOperators) {
         ASSERT_FALSE(listener.k);
         ASSERT_FALSE(conn);
 
-        auto basic = sink.connect<&sigh_listener::g>(&listener);
-        entt::scoped_connection inner = std::move(basic);
+        entt::scoped_connection inner{};
+        inner = sink.connect<&sigh_listener::g>(&listener);
         sigh.publish(42);
 
         ASSERT_FALSE(sigh.empty());
         ASSERT_TRUE(listener.k);
         ASSERT_TRUE(inner);
 
+        inner.release();
+
+        ASSERT_TRUE(sigh.empty());
+        ASSERT_FALSE(inner);
+
+        auto basic = sink.connect<&sigh_listener::g>(&listener);
+        inner = std::as_const(basic);
+        sigh.publish(42);
+
+        ASSERT_FALSE(sigh.empty());
+        ASSERT_FALSE(listener.k);
+        ASSERT_TRUE(inner);
+
         conn = std::move(inner);
 
         ASSERT_FALSE(inner);
@@ -263,7 +276,7 @@ TEST(SigH, ScopedConnectionConstructorsAndOperators) {
     sigh.publish(42);
 
     ASSERT_TRUE(sigh.empty());
-    ASSERT_TRUE(listener.k);
+    ASSERT_FALSE(listener.k);
 }
 
 TEST(SigH, ConstNonConstNoExcept) {