buffer.lua 991 B

123456789101112131415161718192021222324252627
  1. describe('buffer', function()
  2. it('produces an error if its parent errors', function()
  3. local observable = Rx.Observable.fromValue(''):map(function(x) return x() end)
  4. expect(observable.subscribe).to.fail()
  5. expect(observable:buffer().subscribe).to.fail()
  6. end)
  7. it('fails if size is not specified', function()
  8. expect(Rx.Observable.fromRange(5):buffer().subscribe).to.fail()
  9. end)
  10. it('produces values wrapped to the specified width', function()
  11. local observable = Rx.Observable.create(function(observer)
  12. observer:onNext(1)
  13. observer:onNext(2, 3)
  14. observer:onNext(4, 5, 6)
  15. observer:onCompleted()
  16. end)
  17. expect(observable).to.produce({{1}, {2, 3}, {4, 5, 6}})
  18. expect(observable:buffer(2)).to.produce({{1, 2}, {3, 4}, {5, 6}})
  19. end)
  20. it('produces a partial buffer if the observable completes', function()
  21. local observable = Rx.Observable.fromRange(5)
  22. expect(observable:buffer(2)).to.produce({{1, 2}, {3, 4}, {5}})
  23. end)
  24. end)