Browse Source

Test Observable.tap;

bjorn 9 years ago
parent
commit
b9ca5df1bf
2 changed files with 32 additions and 0 deletions
  1. 1 0
      tests/observable.lua
  2. 31 0
      tests/tap.lua

+ 1 - 0
tests/observable.lua

@@ -175,6 +175,7 @@ describe('Observable', function()
   dofile('tests/take.lua')
   dofile('tests/take.lua')
   dofile('tests/takeUntil.lua')
   dofile('tests/takeUntil.lua')
   dofile('tests/takeWhile.lua')
   dofile('tests/takeWhile.lua')
+  dofile('tests/tap.lua')
   dofile('tests/unpack.lua')
   dofile('tests/unpack.lua')
   dofile('tests/unwrap.lua')
   dofile('tests/unwrap.lua')
   dofile('tests/window.lua')
   dofile('tests/window.lua')

+ 31 - 0
tests/tap.lua

@@ -0,0 +1,31 @@
+describe('tap', function()
+  it('does not create a subscription', function()
+    local observable = Rx.Observable.create(error)
+    expect(observable.tap).to_not.fail()
+  end)
+
+  it('runs the specified onNext function', function()
+    local onNext = spy()
+    local observable = Rx.Observable.create(function(observer)
+      observer:onNext(1)
+      observer:onComplete()
+    end):tap(onNext):subscribe()
+    expect(onNext).to.equal({{1}})
+  end)
+
+  it('runs the specified onError function', function()
+    local onError = spy()
+    local observable = Rx.Observable.create(function(observer)
+      observer:onError('message')
+    end):tap(_, onError):subscribe(_, function() end)
+    expect(onError).to.equal({{'message'}})
+  end)
+
+  it('runs the specified onComplete function', function()
+    local onComplete = spy()
+    local observable = Rx.Observable.create(function(observer)
+      observer:onComplete()
+    end):tap(_, _, onComplete):subscribe()
+    expect(#onComplete).to.equal(1)
+  end)
+end)