Add tests for TextEditorElement.setScrollTop/Left

This commit is contained in:
Nathan Sobo
2017-04-18 20:39:05 -06:00
committed by Antonio Scandurra
parent 996e0462b7
commit 4c8fd0cb75
2 changed files with 26 additions and 2 deletions

View File

@@ -260,6 +260,26 @@ describe('TextEditorElement', () => {
})
)
describe('::setScrollTop and ::setScrollLeft', () => {
it('changes the scroll position', async () => {
element = buildTextEditorElement()
element.getModel().update({autoHeight: false})
element.getModel().setText('lorem\nipsum\ndolor\nsit\namet')
element.setHeight(20)
await element.getNextUpdatePromise()
element.setWidth(20)
await element.getNextUpdatePromise()
element.setScrollTop(22)
await element.getNextUpdatePromise()
expect(element.getScrollTop()).toBe(22)
element.setScrollLeft(32)
await element.getNextUpdatePromise()
expect(element.getScrollLeft()).toBe(32)
})
})
describe('on TextEditor::setMini', () =>
it("changes the element's 'mini' attribute", async () => {
const element = buildTextEditorElement()

View File

@@ -149,7 +149,9 @@ class TextEditorElement extends HTMLElement {
}
setScrollTop (scrollTop) {
this.getComponent().setScrollTop(scrollTop)
const component = this.getComponent()
component.setScrollTop(scrollTop)
component.scheduleUpdate()
}
getScrollLeft () {
@@ -157,7 +159,9 @@ class TextEditorElement extends HTMLElement {
}
setScrollLeft (scrollLeft) {
this.getComponent().setScrollLeft(scrollLeft)
const component = this.getComponent()
component.setScrollLeft(scrollLeft)
component.scheduleUpdate()
}
hasFocus () {