Add getVia and getTryVia to SemiFuture.
[folly.git] / folly / futures / test / SemiFutureTest.cpp
index ce24b4e734f0d43a20fd6c0bd0edd285098b7a3a..1c44fe8dd4a3f1a3d891b23484903984874b3624 100644 (file)
@@ -275,6 +275,17 @@ TEST(SemiFuture, SimpleDefer) {
   ASSERT_EQ(innerResult, 17);
 }
 
+TEST(SemiFuture, DeferWithGetVia) {
+  std::atomic<int> innerResult{0};
+  EventBase e2;
+  Promise<folly::Unit> p;
+  auto f = p.getFuture();
+  auto sf = std::move(f).semi().defer([&]() { innerResult = 17; });
+  p.setValue();
+  std::move(sf).getVia(&e2);
+  ASSERT_EQ(innerResult, 17);
+}
+
 TEST(SemiFuture, DeferWithVia) {
   std::atomic<int> innerResult{0};
   EventBase e2;