Quick spec for line number rendering

This commit is contained in:
Ash Wilson
2018-08-21 16:59:48 -04:00
parent ddb1dec987
commit e04da46e8a

View File

@@ -2054,6 +2054,37 @@ describe('TextEditorComponent', () => {
expect(decorationNode2.firstChild).toBeNull()
expect(gutterB.getElement().firstChild.children.length).toBe(0)
})
it('renders custom line number gutters', async () => {
const {component, editor} = buildComponent()
const gutterA = editor.addGutter({
name: 'a',
priority: 1,
type: 'line-number',
class: 'a-number',
labelFn: ({bufferRow}) => `a - ${bufferRow}`
})
const gutterB = editor.addGutter({
name: 'b',
priority: 1,
type: 'line-number',
class: 'b-number',
labelFn: ({bufferRow}) => `b - ${bufferRow}`
})
editor.setText('0000\n0001\n0002\n0003\n0004\n')
await component.getNextUpdatePromise()
const gutterAElement = gutterA.getElement()
const aNumbers = gutterAElement.querySelectorAll('div.line-number[data-buffer-row]')
const aLabels = Array.from(aNumbers, e => e.textContent)
expect(aLabels).toEqual(['a - 0', 'a - 1', 'a - 2', 'a - 3', 'a - 4', 'a - 5'])
const gutterBElement = gutterB.getElement()
const bNumbers = gutterBElement.querySelectorAll('div.line-number[data-buffer-row]')
const bLabels = Array.from(bNumbers, e => e.textContent)
expect(bLabels).toEqual(['b - 0', 'b - 1', 'b - 2', 'b - 3', 'b - 4', 'b - 5'])
})
})
describe('block decorations', () => {