Merge branch 'master' of github.com:github/atom into toggle-comments

This commit is contained in:
Nathan Sobo
2012-06-04 11:55:15 -06:00
13 changed files with 93 additions and 42 deletions

View File

@@ -2457,6 +2457,19 @@ describe "Editor", ->
editor.trigger "toggle-fold"
expect(editor.screenLineForRow(1).fold).toBeUndefined()
it "creates/destroys the largest fold containing the cursor position", ->
editor.trigger "fold-all"
editor.setCursorBufferPosition([5,1])
editor.trigger "toggle-fold"
expect(editor.screenLineForRow(0).fold).toBeUndefined()
expect(editor.screenLineForRow(1).fold).toBeDefined()
editor.trigger "toggle-fold"
expect(editor.screenLineForRow(0).fold).toBeUndefined()
expect(editor.screenLineForRow(1).fold).toBeUndefined()
expect(editor.screenLineForRow(4).fold).toBeDefined()
describe "when a fold-all event is triggered", ->
it "creates folds on every line that can be folded", ->
editor.setCursorBufferPosition([5,13])
@@ -2465,6 +2478,11 @@ describe "Editor", ->
expect(editor.screenLineForRow(0).fold).toBeDefined()
expect(editor.screenLineForRow(1)).toBeUndefined()
it "maintains cursor buffer position when buffer is created/destroyed", ->
editor.setCursorBufferPosition([5,5])
editor.trigger "fold-all"
expect(editor.getCursorBufferPosition()).toEqual([5,5])
describe "primitive folding", ->
beforeEach ->
editor.setBuffer(new Buffer(require.resolve('fixtures/two-hundred.txt')))

View File

@@ -27,7 +27,7 @@ describe "FoldSuggester", ->
describe "coffeescript", ->
beforeEach ->
buffer = new Buffer(require.resolve 'fixtures/sample.coffee')
buffer = new Buffer(require.resolve 'fixtures/coffee.coffee')
highlighter = new Highlighter(buffer)
foldSuggester = new FoldSuggester(highlighter)

View File

@@ -307,6 +307,33 @@ describe "Renderer", ->
expect(line4.screenDelta).toEqual [1, 0]
expect(line5.text).toMatch /9-+/
describe "when creating a fold where one already exists", ->
it "returns existing fold and does't create new fold", ->
fold = renderer.createFold(0,10)
expect(renderer.activeFolds[0].length).toBe 1
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 ->
@@ -575,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]