Associate gutters with their elements and support showing/hiding gutters

This commit is contained in:
Nathan Sobo
2017-03-22 18:21:19 -06:00
committed by Antonio Scandurra
parent 16694a2166
commit d8b22fb3bd
5 changed files with 77 additions and 14 deletions

View File

@@ -989,6 +989,41 @@ describe('TextEditorComponent', () => {
'a', 'b', 'c', 'line-number', 'd', 'e'
])
})
it('allows the element of custom gutters to be retrieved', async () => {
const {component, element, editor} = buildComponent()
const gutterA = editor.addGutter({name: 'a', priority: -1})
const gutterB = editor.addGutter({name: 'b', priority: 1})
await component.getNextUpdatePromise()
expect(element.contains(gutterA.element)).toBe(true)
expect(element.contains(gutterB.element)).toBe(true)
})
it('can show and hide custom gutters', async () => {
const {component, element, editor} = buildComponent()
const gutterA = editor.addGutter({name: 'a', priority: -1})
const gutterB = editor.addGutter({name: 'b', priority: 1})
await component.getNextUpdatePromise()
expect(gutterA.element.style.display).toBe('')
expect(gutterB.element.style.display).toBe('')
gutterA.hide()
await component.getNextUpdatePromise()
expect(gutterA.element.style.display).toBe('none')
expect(gutterB.element.style.display).toBe('')
gutterB.hide()
await component.getNextUpdatePromise()
expect(gutterA.element.style.display).toBe('none')
expect(gutterB.element.style.display).toBe('none')
gutterA.show()
await component.getNextUpdatePromise()
expect(gutterA.element.style.display).toBe('')
expect(gutterB.element.style.display).toBe('none')
})
})
describe('mouse input', () => {