Emit 'destroyed' events from display buffer markers

This commit is contained in:
Nathan Sobo
2013-04-29 19:19:04 -06:00
parent 51e915c423
commit 32178541fe
2 changed files with 14 additions and 0 deletions

View File

@@ -741,3 +741,16 @@ describe "DisplayBuffer", ->
marker.destroy()
expect(marker.isValid()).toBeFalsy()
expect(displayBuffer.getMarker(marker.id)).toBeUndefined()
it "emits 'destroyed' events when markers are destroyed", ->
destroyedHandler = jasmine.createSpy("destroyedHandler")
marker = displayBuffer.markScreenRange([[5, 4], [5, 10]])
marker.on 'destroyed', destroyedHandler
marker.destroy()
expect(destroyedHandler).toHaveBeenCalled()
destroyedHandler.reset()
marker2 = displayBuffer.markScreenRange([[5, 4], [5, 10]])
marker2.on 'destroyed', destroyedHandler
buffer.getMarker(marker2.id).destroy()
expect(destroyedHandler).toHaveBeenCalled()

View File

@@ -143,6 +143,7 @@ class DisplayBufferMarker
destroyed: ->
delete @displayBuffer.markers[@id]
@trigger 'destroyed'
observeBufferMarker: ->
@bufferMarker.on 'destroyed', => @destroyed()