contains.lua 1.0 KB

123456789101112131415161718192021222324252627282930
  1. describe('contains', function()
  2. it('errors when its parent errors', function()
  3. local _, onError = observableSpy(Rx.Observable.throw():contains(1))
  4. expect(#onError).to.equal(1)
  5. end)
  6. it('returns false if the source Observable produces no values', function()
  7. expect(Rx.Observable.empty():contains(3)).to.produce(false)
  8. end)
  9. it('returns true if the value is nil and the Observable produces an empty value', function()
  10. local observable = Rx.Observable.create(function(observer)
  11. observer:onNext(nil)
  12. observer:onCompleted()
  13. end)
  14. expect(observable:contains(nil)).to.produce(true)
  15. end)
  16. it('returns true if the source Observable produces the specified value', function()
  17. local observable = Rx.Observable.fromRange(5)
  18. expect(observable:contains(3)).to.produce(true)
  19. end)
  20. it('supports multiple values', function()
  21. local observable = Rx.Observable.fromRange(6):wrap(3)
  22. expect(observable).to.produce({{1, 2, 3}, {4, 5, 6}})
  23. expect(observable:contains(5)).to.produce(true)
  24. end)
  25. end)