mirror of
https://github.com/atom/atom.git
synced 2026-01-26 15:28:27 -05:00
Merge pull request #11139 from atom/ld-change-range-event
Add Selection.onDidChangeRange event object to emitter
This commit is contained in:
@@ -85,6 +85,17 @@ describe('Selection', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe("when the selection's range is moved", () => {
|
||||
it('notifies ::onDidChangeRange observers', () => {
|
||||
selection.setBufferRange([[2, 0], [2, 10]])
|
||||
const changeScreenRangeHandler = jasmine.createSpy('changeScreenRangeHandler')
|
||||
selection.onDidChangeRange(changeScreenRangeHandler)
|
||||
buffer.insert([2, 5], 'abc')
|
||||
expect(changeScreenRangeHandler).toHaveBeenCalled()
|
||||
expect(changeScreenRangeHandler.mostRecentCall.args[0]).not.toBeUndefined()
|
||||
});
|
||||
});
|
||||
|
||||
describe("when only the selection's tail is moved (regression)", () => {
|
||||
it('notifies ::onDidChangeRange observers', () => {
|
||||
selection.setBufferRange([[2, 0], [2, 10]], {reversed: true})
|
||||
@@ -93,6 +104,7 @@ describe('Selection', () => {
|
||||
|
||||
buffer.insert([2, 5], 'abc')
|
||||
expect(changeScreenRangeHandler).toHaveBeenCalled()
|
||||
expect(changeScreenRangeHandler.mostRecentCall.args[0]).not.toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -1037,14 +1037,15 @@ class Selection {
|
||||
this.editor.cursorMoved(cursorMovedEvent)
|
||||
}
|
||||
|
||||
this.emitter.emit('did-change-range')
|
||||
this.editor.selectionRangeChanged({
|
||||
const rangeChangedEvent = {
|
||||
oldBufferRange: new Range(oldHeadBufferPosition, oldTailBufferPosition),
|
||||
oldScreenRange: new Range(oldHeadScreenPosition, oldTailScreenPosition),
|
||||
newBufferRange: this.getBufferRange(),
|
||||
newScreenRange: this.getScreenRange(),
|
||||
selection: this
|
||||
})
|
||||
}
|
||||
this.emitter.emit('did-change-range', rangeChangedEvent)
|
||||
this.editor.selectionRangeChanged(rangeChangedEvent)
|
||||
}
|
||||
|
||||
markerDidDestroy () {
|
||||
|
||||
Reference in New Issue
Block a user