Path: blob/main/src/vs/editor/test/browser/gpu/bufferDirtyTracker.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 { strictEqual } from 'assert';6import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../base/test/common/utils.js';7import { BufferDirtyTracker } from '../../../browser/gpu/bufferDirtyTracker.js';89suite('BufferDirtyTracker', () => {10ensureNoDisposablesAreLeakedInTestSuite();1112let bdt: BufferDirtyTracker;1314function assertState(dataOffset: number | undefined, dirtySize: number | undefined) {15strictEqual(bdt.dataOffset, dataOffset);16strictEqual(bdt.dirtySize, dirtySize);17strictEqual(bdt.isDirty, dataOffset !== undefined);18}1920setup(() => {21bdt = new BufferDirtyTracker();22});2324test('flag(index)', () => {25strictEqual(bdt.flag(0), 0);26assertState(0, 1);27strictEqual(bdt.flag(31), 31);28assertState(0, 32);29bdt.clear();30assertState(undefined, undefined);31strictEqual(bdt.flag(10), 10);32assertState(10, 1);33strictEqual(bdt.flag(15), 15);34assertState(10, 6);35});3637test('flag(index, length)', () => {38bdt.flag(0, 32);39assertState(0, 32);40bdt.clear();41assertState(undefined, undefined);42bdt.flag(10, 6);43assertState(10, 6);44});45});464748