Path: blob/main/src/vs/base/test/browser/ui/scrollbar/scrollbarState.test.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import assert from 'assert';6import { ScrollbarState } from '../../../../browser/ui/scrollbar/scrollbarState.js';7import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../common/utils.js';89suite('ScrollbarState', () => {1011ensureNoDisposablesAreLeakedInTestSuite();1213test('inflates slider size', () => {14const actual = new ScrollbarState(0, 14, 0, 339, 42423, 32787);1516assert.strictEqual(actual.getArrowSize(), 0);17assert.strictEqual(actual.getScrollPosition(), 32787);18assert.strictEqual(actual.getRectangleLargeSize(), 339);19assert.strictEqual(actual.getRectangleSmallSize(), 14);20assert.strictEqual(actual.isNeeded(), true);21assert.strictEqual(actual.getSliderSize(), 20);22assert.strictEqual(actual.getSliderPosition(), 249);2324assert.strictEqual(actual.getDesiredScrollPositionFromOffset(259), 32849);2526// 259 is greater than 230 so page down, 32787 + 339 = 3312627assert.strictEqual(actual.getDesiredScrollPositionFromOffsetPaged(259), 33126);2829actual.setScrollPosition(32849);30assert.strictEqual(actual.getArrowSize(), 0);31assert.strictEqual(actual.getScrollPosition(), 32849);32assert.strictEqual(actual.getRectangleLargeSize(), 339);33assert.strictEqual(actual.getRectangleSmallSize(), 14);34assert.strictEqual(actual.isNeeded(), true);35assert.strictEqual(actual.getSliderSize(), 20);36assert.strictEqual(actual.getSliderPosition(), 249);37});3839test('inflates slider size with arrows', () => {40const actual = new ScrollbarState(12, 14, 0, 339, 42423, 32787);4142assert.strictEqual(actual.getArrowSize(), 12);43assert.strictEqual(actual.getScrollPosition(), 32787);44assert.strictEqual(actual.getRectangleLargeSize(), 339);45assert.strictEqual(actual.getRectangleSmallSize(), 14);46assert.strictEqual(actual.isNeeded(), true);47assert.strictEqual(actual.getSliderSize(), 20);48assert.strictEqual(actual.getSliderPosition(), 230);4950assert.strictEqual(actual.getDesiredScrollPositionFromOffset(240 + 12), 32811);5152// 240 + 12 = 252; greater than 230 so page down, 32787 + 339 = 3312653assert.strictEqual(actual.getDesiredScrollPositionFromOffsetPaged(240 + 12), 33126);5455actual.setScrollPosition(32811);56assert.strictEqual(actual.getArrowSize(), 12);57assert.strictEqual(actual.getScrollPosition(), 32811);58assert.strictEqual(actual.getRectangleLargeSize(), 339);59assert.strictEqual(actual.getRectangleSmallSize(), 14);60assert.strictEqual(actual.isNeeded(), true);61assert.strictEqual(actual.getSliderSize(), 20);62assert.strictEqual(actual.getSliderPosition(), 230);63});64});656667