mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
When a fold is created inside an existing fold, don't trigger change events or update line map.
This commit is contained in:
@@ -315,6 +315,25 @@ describe "Renderer", ->
|
||||
newFold = renderer.createFold(0,10)
|
||||
expect(newFold).toBe fold
|
||||
expect(renderer.activeFolds[0].length).toBe 1
|
||||
|
||||
describe "when a fold is created inside an existing folded region", ->
|
||||
it "creates/destroys the fold, but does not trigger change event", ->
|
||||
outerFold = renderer.createFold(0, 10)
|
||||
changeHandler.reset()
|
||||
|
||||
innerFold = renderer.createFold(2, 5)
|
||||
expect(changeHandler).not.toHaveBeenCalled()
|
||||
[line0, line1] = renderer.linesForRows(0, 1)
|
||||
expect(line0.fold).toBe outerFold
|
||||
expect(line1.fold).toBeUndefined()
|
||||
|
||||
changeHandler.reset()
|
||||
innerFold.destroy()
|
||||
expect(changeHandler).not.toHaveBeenCalled()
|
||||
[line0, line1] = renderer.linesForRows(0, 1)
|
||||
expect(line0.fold).toBe outerFold
|
||||
expect(line1.fold).toBeUndefined()
|
||||
|
||||
describe "when the buffer changes", ->
|
||||
[fold1, fold2] = []
|
||||
beforeEach ->
|
||||
@@ -583,6 +602,3 @@ describe "Renderer", ->
|
||||
|
||||
describe ".bufferRowsForScreenRows()", ->
|
||||
it "returns the buffer rows corresponding to each screen row in the given range", ->
|
||||
renderer.setMaxLineLength(50)
|
||||
renderer.createFold(4, 7)
|
||||
expect(renderer.bufferRowsForScreenRows()).toEqual [0, 1, 2, 3, 3, 4, 8, 8, 9, 10, 11, 12]
|
||||
|
||||
Reference in New Issue
Block a user