Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/test/browser/gpu/bufferDirtyTracker.test.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { strictEqual } from 'assert';
7
import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../base/test/common/utils.js';
8
import { BufferDirtyTracker } from '../../../browser/gpu/bufferDirtyTracker.js';
9
10
suite('BufferDirtyTracker', () => {
11
ensureNoDisposablesAreLeakedInTestSuite();
12
13
let bdt: BufferDirtyTracker;
14
15
function assertState(dataOffset: number | undefined, dirtySize: number | undefined) {
16
strictEqual(bdt.dataOffset, dataOffset);
17
strictEqual(bdt.dirtySize, dirtySize);
18
strictEqual(bdt.isDirty, dataOffset !== undefined);
19
}
20
21
setup(() => {
22
bdt = new BufferDirtyTracker();
23
});
24
25
test('flag(index)', () => {
26
strictEqual(bdt.flag(0), 0);
27
assertState(0, 1);
28
strictEqual(bdt.flag(31), 31);
29
assertState(0, 32);
30
bdt.clear();
31
assertState(undefined, undefined);
32
strictEqual(bdt.flag(10), 10);
33
assertState(10, 1);
34
strictEqual(bdt.flag(15), 15);
35
assertState(10, 6);
36
});
37
38
test('flag(index, length)', () => {
39
bdt.flag(0, 32);
40
assertState(0, 32);
41
bdt.clear();
42
assertState(undefined, undefined);
43
bdt.flag(10, 6);
44
assertState(10, 6);
45
});
46
});
47
48