mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
Update foldable icon when a row's foldability changes
This commit is contained in:
@@ -195,6 +195,21 @@ describe('TextEditorComponent', () => {
|
||||
expect(lineNodeForScreenRow(component, 7)).toBe(lineNode)
|
||||
})
|
||||
|
||||
it('updates lines numbers when a row\'s foldability changes (regression)', async () => {
|
||||
const {component, element, editor} = buildComponent({text: 'abc\n'})
|
||||
editor.setCursorBufferPosition([1, 0])
|
||||
await component.getNextUpdatePromise()
|
||||
expect(lineNumberNodeForScreenRow(component, 0).querySelector('.foldable')).toBeNull()
|
||||
|
||||
editor.insertText(' def')
|
||||
await component.getNextUpdatePromise()
|
||||
expect(lineNumberNodeForScreenRow(component, 0).querySelector('.foldable')).toBeDefined()
|
||||
|
||||
editor.undo()
|
||||
await component.getNextUpdatePromise()
|
||||
expect(lineNumberNodeForScreenRow(component, 0).querySelector('.foldable')).toBeNull()
|
||||
})
|
||||
|
||||
it('renders dummy vertical and horizontal scrollbars when content overflows', async () => {
|
||||
const {component, element, editor} = buildComponent({height: 100, width: 100})
|
||||
const verticalScrollbar = component.refs.verticalScrollbar.element
|
||||
|
||||
@@ -823,11 +823,10 @@ class TextEditorComponent {
|
||||
const endRow = this.getRenderedEndRow()
|
||||
const renderedRowCount = this.getRenderedRowCount()
|
||||
|
||||
const {keys, softWrappedFlags, foldableFlags} = this.lineNumbersToRender
|
||||
const bufferRows = model.bufferRowsForScreenRows(startRow, endRow - 1)
|
||||
this.lineNumbersToRender.bufferRows = bufferRows
|
||||
keys.length = renderedRowCount
|
||||
foldableFlags.length = renderedRowCount
|
||||
const keys = new Array(endRow - startRow)
|
||||
const foldableFlags = new Array(endRow - startRow)
|
||||
const softWrappedFlags = new Array(endRow - startRow)
|
||||
|
||||
let previousBufferRow = (startRow > 0) ? model.bufferRowForScreenRow(startRow - 1) : -1
|
||||
let softWrapCount = 0
|
||||
@@ -847,6 +846,11 @@ class TextEditorComponent {
|
||||
}
|
||||
previousBufferRow = bufferRow
|
||||
}
|
||||
|
||||
this.lineNumbersToRender.bufferRows = bufferRows
|
||||
this.lineNumbersToRender.keys = keys
|
||||
this.lineNumbersToRender.foldableFlags = foldableFlags
|
||||
this.lineNumbersToRender.softWrappedFlags = softWrappedFlags
|
||||
}
|
||||
|
||||
queryMaxLineNumberDigits () {
|
||||
|
||||
Reference in New Issue
Block a user