diff --git a/spec/text-editor-component-spec.js b/spec/text-editor-component-spec.js index 12c29e2a3..eaa27a5c4 100644 --- a/spec/text-editor-component-spec.js +++ b/spec/text-editor-component-spec.js @@ -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', () => {