|
@@ -0,0 +1,27 @@
|
|
|
+describe('wrap', function()
|
|
|
+ it('produces an error if its parent errors', function()
|
|
|
+ local observable = Rx.Observable.fromValue(''):map(function(x) return x() end)
|
|
|
+ expect(observable.subscribe).to.fail()
|
|
|
+ expect(observable:wrap().subscribe).to.fail()
|
|
|
+ end)
|
|
|
+
|
|
|
+ it('fails if size is not specified', function()
|
|
|
+ expect(Rx.Observable.fromRange(5):wrap().subscribe).to.fail()
|
|
|
+ end)
|
|
|
+
|
|
|
+ it('produces values wrapped to the specified width', function()
|
|
|
+ local observable = Rx.Observable.create(function(observer)
|
|
|
+ observer:onNext(1)
|
|
|
+ observer:onNext(2, 3)
|
|
|
+ observer:onNext(4, 5, 6)
|
|
|
+ observer:onComplete()
|
|
|
+ end)
|
|
|
+ expect(observable).to.produce({{1}, {2, 3}, {4, 5, 6}})
|
|
|
+ expect(observable:wrap(2)).to.produce({{1, 2}, {3, 4}, {5, 6}})
|
|
|
+ end)
|
|
|
+
|
|
|
+ it('produces a partial buffer if the observable completes', function()
|
|
|
+ local observable = Rx.Observable.fromRange(5)
|
|
|
+ expect(observable:wrap(2)).to.produce({{1, 2}, {3, 4}, {5}})
|
|
|
+ end)
|
|
|
+end)
|