Skip to content

Commit ff3a5af

Browse files
committed
Fix #572. Respect end in Bus.push
1 parent 04c754f commit ff3a5af

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

spec/specs/bus.coffee

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,26 @@ describe "Bacon.Bus", ->
9494
bus.onValue(->)
9595
expect(plugged).to.deep.equal(false)
9696

97+
it "respects end() even events comes from plugged stream", ->
98+
failed = false
99+
busA = new Bacon.Bus()
100+
busB = new Bacon.Bus()
101+
busB.onValue(-> failed = true;)
102+
busB.plug(busA)
103+
busB.end()
104+
busA.push('foo')
105+
expect(failed).to.equal(false)
106+
107+
it "does not plug after end(), second variant", ->
108+
failed = false
109+
busA = new Bacon.Bus()
110+
busB = new Bacon.Bus()
111+
busB.onValue(-> failed = true;)
112+
busB.plug(busA)
113+
busA.push('foo')
114+
busB.end()
115+
expect(failed).to.equal(false)
116+
97117
it "respects end() calls before subscribers", ->
98118
failed = false
99119
bus = new Bacon.Bus()

src/bus.coffee

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class Bus extends EventStream
4848
@sink? endEvent()
4949

5050
push: (value) ->
51-
@sink? nextEvent(value)
51+
@sink? nextEvent(value) unless @ended
5252

5353
error: (error) ->
5454
@sink? new Error(error)

0 commit comments

Comments
 (0)