all.lua 978 B

12345678910111213141516171819202122232425
  1. describe('all', function()
  2. it('passes through errors', function()
  3. local observable = Rx.Observable.create(function(observer) observer:onError() end)
  4. expect(observable.subscribe).to.fail()
  5. expect(observable:all().subscribe).to.fail()
  6. end)
  7. it('produces true if all elements satisfy the predicate', function()
  8. local observable = Rx.Observable.fromRange(5):all(function(x) return x < 10 end)
  9. expect(observable).to.produce({{true}})
  10. end)
  11. it('produces false if one element does not satisfy the predicate', function()
  12. local observable = Rx.Observable.fromRange(5):all(function(x) return x ~= 3 end)
  13. expect(observable).to.produce({{false}})
  14. end)
  15. it('uses the identity function as a predicate if none is specified', function()
  16. local observable = Rx.Observable.fromValue(false):all()
  17. expect(observable).to.produce({{false}})
  18. observable = Rx.Observable.fromValue(true):all()
  19. expect(observable).to.produce({{true}})
  20. end)
  21. end)