From c3c90379b7aee3978e596f55602924c571f9595a Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Mon, 30 Aug 2021 01:28:31 +0200
Subject: [PATCH] Add tests

---
 test/Quasar/DisposableSpec.hs |  9 ++++++++-
 test/Quasar/ObservableSpec.hs | 19 +++++++++++++++----
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/test/Quasar/DisposableSpec.hs b/test/Quasar/DisposableSpec.hs
index 66ff79f..8acad69 100644
--- a/test/Quasar/DisposableSpec.hs
+++ b/test/Quasar/DisposableSpec.hs
@@ -88,11 +88,18 @@ spec = parallel $ do
         attachDisposeAction_ resourceManager $ toAwaitable avar <$ putAsyncVar_ avar ()
       pure () :: IO ()
 
+    it "re-throws an exception" $ do
+      shouldThrow
+        do
+          withResourceManager \_ ->
+            throwIO TestException
+        \TestException -> True
+
     it "re-throws an exception from a dispose action" $ do
       shouldThrow
         do
           withResourceManager \resourceManager ->
-            attachDisposeAction resourceManager $ throwIO $ TestException
+            attachDisposeAction resourceManager $ throwIO TestException
         \TestException -> True
 
     it "can attach an disposable that is disposed asynchronously" $ do
diff --git a/test/Quasar/ObservableSpec.hs b/test/Quasar/ObservableSpec.hs
index 0ec52eb..7dd4e12 100644
--- a/test/Quasar/ObservableSpec.hs
+++ b/test/Quasar/ObservableSpec.hs
@@ -1,17 +1,28 @@
 module Quasar.ObservableSpec (spec) where
 
-import Quasar.Observable
-
-import Control.Monad (void)
 import Data.IORef
-import Prelude
+import Quasar.Prelude
+import Quasar.Disposable
+import Quasar.Observable
 import Test.Hspec
 
 
 spec :: Spec
 spec = do
+  observableSpec
   mergeObservableSpec
 
+observableSpec :: Spec
+observableSpec = parallel do
+  describe "Observable" do
+    it "works" $ io do
+      shouldReturn
+        do
+          withOnResourceManager do
+            observeWhile (pure () :: Observable ()) toObservableUpdate
+        ()
+
+
 mergeObservableSpec :: Spec
 mergeObservableSpec = do
   describe "mergeObservable" $ parallel $ do
-- 
GitLab