diff --git a/spec/app/edit-session-spec.coffee b/spec/app/edit-session-spec.coffee index 94a177ce9..a8b115601 100644 --- a/spec/app/edit-session-spec.coffee +++ b/spec/app/edit-session-spec.coffee @@ -744,10 +744,18 @@ describe "EditSession", -> expect(editSession.lineForScreenRow(1).fold).toBeDefined() describe ".selectMarker(marker)", -> - it "selects the marker's range and returns true", -> - marker = editSession.markBufferRange([[0, 1], [3, 3]]) - expect(editSession.selectMarker(marker)).toBeTruthy() - expect(editSession.getSelectedBufferRange()).toEqual [[0, 1], [3, 3]] + describe "if the marker is valid", -> + it "selects the marker's range and returns the selected range", -> + marker = editSession.markBufferRange([[0, 1], [3, 3]]) + expect(editSession.selectMarker(marker)).toEqual [[0, 1], [3, 3]] + expect(editSession.getSelectedBufferRange()).toEqual [[0, 1], [3, 3]] + + describe "if the marker is invalid", -> + it "does not change the selection and returns a falsy value", -> + marker = editSession.markBufferRange([[0, 1], [3, 3]]) + marker.destroy() + expect(editSession.selectMarker(marker)).toBeFalsy() + expect(editSession.getSelectedBufferRange()).toEqual [[0, 0], [0, 0]] describe ".addSelectionBelow()", -> describe "when the selection is non-empty", -> diff --git a/src/app/edit-session.coffee b/src/app/edit-session.coffee index 2801b4c2a..752d68f0e 100644 --- a/src/app/edit-session.coffee +++ b/src/app/edit-session.coffee @@ -1411,11 +1411,10 @@ class EditSession @getLastSelection().expandOverWord() selectMarker: (marker) -> - if bufferRange = marker.getBufferRange() - @setSelectedBufferRange(bufferRange) - true - else - false + if marker.isValid() + range = marker.getBufferRange() + @setSelectedBufferRange(range) + range # Public: Given a buffer position, this finds all markers that contain the position. #