bjorn пре 9 година
родитељ
комит
a85d37e50e
2 измењених фајлова са 28 додато и 1 уклоњено
  1. 2 1
      tests/runner.lua
  2. 26 0
      tests/subscription.lua

+ 2 - 1
tests/runner.lua

@@ -56,7 +56,8 @@ if arg[1] then
 else
   local files = {
     'observer',
-    'observable'
+    'observable',
+    'subscription'
   }
 
   for i, file in ipairs(files) do

+ 26 - 0
tests/subscription.lua

@@ -0,0 +1,26 @@
+describe('Subscription', function()
+  describe('create', function()
+    it('returns a Subscription', function()
+      local subscription = Rx.Subscription.create()
+      expect(subscription).to.be.an(Rx.Subscription)
+    end)
+  end)
+
+  describe('unsubscribe', function()
+    it('runs the function passed to create', function()
+      local unsubscribe = spy()
+      local subscription = Rx.Subscription.create(unsubscribe)
+      subscription:unsubscribe()
+      expect(#unsubscribe).to.equal(1)
+    end)
+
+    it('does not run the function passed to create more than once', function()
+      local unsubscribe = spy()
+      local subscription = Rx.Subscription.create(unsubscribe)
+      subscription:unsubscribe()
+      subscription:unsubscribe()
+      subscription:unsubscribe()
+      expect(#unsubscribe).to.equal(1)
+    end)
+  end)
+end)