Merge pull request #28 from naxxster/fix-combineLatest-unsubscribe-skip

Fix combineLatest operator subscription to unsubscribe from all subscription
master
Bjorn Swenson 2018-08-30 20:41:05 -07:00 committed by GitHub
commit 34c8fee29a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 6 deletions

2
rx.lua
View File

@ -522,7 +522,7 @@ function Observable:combineLatest(...)
end
return Subscription.create(function ()
for i = 1, #subscription do
for i = 1, #sources do
if subscription[i] then subscription[i]:unsubscribe() end
end
end)

View File

@ -55,7 +55,7 @@ function Observable:combineLatest(...)
end
return Subscription.create(function ()
for i = 1, #subscription do
for i = 1, #sources do
if subscription[i] then subscription[i]:unsubscribe() end
end
end)

View File

@ -5,10 +5,8 @@ describe('combineLatest', function()
end)
it('unsubscribes from the combined source observables', function()
local unsubscribeA = spy()
local subscriptionA = Rx.Subscription.create(unsubscribeA)
local observableA = Rx.Observable.create(function(observer)
return subscriptionA
return nil
end)
local unsubscribeB = spy()
@ -19,7 +17,6 @@ describe('combineLatest', function()
local subscription = Rx.Observable.combineLatest(observableA, observableB):subscribe()
subscription:unsubscribe()
expect(#unsubscribeA).to.equal(1)
expect(#unsubscribeB).to.equal(1)
end)