diff --git a/test/Quasar/DisposableSpec.hs b/test/Quasar/DisposableSpec.hs
index 66ff79ff1d12f25dc837c601589aa2e6c8bf797d..8acad6937b62c8a0bbb2c08143fe6f1e861ee97d 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 0ec52eb42cf36728fe31f9080ce3ee2694fda9b2..7dd4e12e7ab26d219910cd46eeebfe61f06e0858 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