mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Integrate block decorations in the custom lines rendering routine
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
const {it, fit, ffit, fffit, beforeEach, afterEach, conditionPromise} = require('./async-spec-helpers')
|
||||
const {it, fit, ffit, fffit, beforeEach, afterEach, conditionPromise, timeoutPromise} = require('./async-spec-helpers')
|
||||
|
||||
const TextEditorComponent = require('../src/text-editor-component')
|
||||
const TextEditor = require('../src/text-editor')
|
||||
@@ -1268,7 +1268,7 @@ describe('TextEditorComponent', () => {
|
||||
|
||||
// move decoration2 and decoration3
|
||||
decoration2.getMarker().setHeadScreenPosition([1, 0])
|
||||
decoration3.getMarker().setHeadScreenPosition([3, 0])
|
||||
decoration3.getMarker().setHeadScreenPosition([0, 0])
|
||||
await component.getNextUpdatePromise()
|
||||
expect(component.getRenderedStartRow()).toBe(0)
|
||||
expect(component.getRenderedEndRow()).toBe(6)
|
||||
@@ -1278,24 +1278,23 @@ describe('TextEditorComponent', () => {
|
||||
getElementHeight(item4) + getElementHeight(item5) + getElementHeight(item6)
|
||||
)
|
||||
expect(tileNodeForScreenRow(component, 0).offsetHeight).toBe(
|
||||
3 * component.getLineHeight() + getElementHeight(item2)
|
||||
3 * component.getLineHeight() + getElementHeight(item2) + getElementHeight(item3)
|
||||
)
|
||||
expect(tileNodeForScreenRow(component, 3).offsetHeight).toBe(
|
||||
3 * component.getLineHeight() + getElementHeight(item3)
|
||||
3 * component.getLineHeight()
|
||||
)
|
||||
expect(element.querySelectorAll('.line').length).toBe(6)
|
||||
expect(element.contains(item1)).toBe(false)
|
||||
expect(item2.previousSibling).toBe(lineNodeForScreenRow(component, 0))
|
||||
expect(item2.nextSibling).toBe(lineNodeForScreenRow(component, 1))
|
||||
expect(item3.previousSibling).toBeNull()
|
||||
expect(item3.nextSibling).toBe(lineNodeForScreenRow(component, 3))
|
||||
expect(item3.nextSibling).toBe(lineNodeForScreenRow(component, 0))
|
||||
expect(element.contains(item4)).toBe(false)
|
||||
expect(element.contains(item5)).toBe(false)
|
||||
expect(element.contains(item6)).toBe(false)
|
||||
|
||||
// change the text
|
||||
editor.setCursorScreenPosition([0, 5])
|
||||
editor.insertNewline()
|
||||
editor.getBuffer().setTextInRange([[0, 5], [0, 5]], '\n\n')
|
||||
await component.getNextUpdatePromise()
|
||||
expect(component.getRenderedStartRow()).toBe(0)
|
||||
expect(component.getRenderedEndRow()).toBe(6)
|
||||
@@ -1305,17 +1304,17 @@ describe('TextEditorComponent', () => {
|
||||
getElementHeight(item4) + getElementHeight(item5) + getElementHeight(item6)
|
||||
)
|
||||
expect(tileNodeForScreenRow(component, 0).offsetHeight).toBe(
|
||||
3 * component.getLineHeight() + getElementHeight(item2)
|
||||
3 * component.getLineHeight() + getElementHeight(item3)
|
||||
)
|
||||
expect(tileNodeForScreenRow(component, 3).offsetHeight).toBe(
|
||||
3 * component.getLineHeight() + getElementHeight(item3)
|
||||
3 * component.getLineHeight() + getElementHeight(item2)
|
||||
)
|
||||
expect(element.querySelectorAll('.line').length).toBe(6)
|
||||
expect(element.contains(item1)).toBe(false)
|
||||
expect(item2.previousSibling).toBe(lineNodeForScreenRow(component, 1))
|
||||
expect(item2.nextSibling).toBe(lineNodeForScreenRow(component, 2))
|
||||
expect(item3.previousSibling).toBe(lineNodeForScreenRow(component, 3))
|
||||
expect(item3.nextSibling).toBe(lineNodeForScreenRow(component, 4))
|
||||
expect(item2.previousSibling).toBeNull()
|
||||
expect(item2.nextSibling).toBe(lineNodeForScreenRow(component, 3))
|
||||
expect(item3.previousSibling).toBeNull()
|
||||
expect(item3.nextSibling).toBe(lineNodeForScreenRow(component, 0))
|
||||
expect(element.contains(item4)).toBe(false)
|
||||
expect(element.contains(item5)).toBe(false)
|
||||
expect(element.contains(item6)).toBe(false)
|
||||
@@ -1331,17 +1330,17 @@ describe('TextEditorComponent', () => {
|
||||
getElementHeight(item4) + getElementHeight(item5) + getElementHeight(item6)
|
||||
)
|
||||
expect(tileNodeForScreenRow(component, 0).offsetHeight).toBe(
|
||||
3 * component.getLineHeight() + getElementHeight(item2)
|
||||
3 * component.getLineHeight() + getElementHeight(item2) + getElementHeight(item3)
|
||||
)
|
||||
expect(tileNodeForScreenRow(component, 3).offsetHeight).toBe(
|
||||
3 * component.getLineHeight() + getElementHeight(item3)
|
||||
3 * component.getLineHeight()
|
||||
)
|
||||
expect(element.querySelectorAll('.line').length).toBe(6)
|
||||
expect(element.contains(item1)).toBe(false)
|
||||
expect(item2.previousSibling).toBe(lineNodeForScreenRow(component, 0))
|
||||
expect(item2.nextSibling).toBe(lineNodeForScreenRow(component, 1))
|
||||
expect(item3.previousSibling).toBeNull()
|
||||
expect(item3.nextSibling).toBe(lineNodeForScreenRow(component, 3))
|
||||
expect(item3.nextSibling).toBe(lineNodeForScreenRow(component, 0))
|
||||
expect(element.contains(item4)).toBe(false)
|
||||
expect(element.contains(item5)).toBe(false)
|
||||
expect(element.contains(item6)).toBe(false)
|
||||
|
||||
Reference in New Issue
Block a user