mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-10 22:21:22 -07:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import { describe, it, expect } from 'vitest';
|
|
import { TestRig } from './test-helper.js';
|
|
import { join } from 'node:path';
|
|
|
|
describe('Flicker Detector', () => {
|
|
it('should not detect a flicker under the max height budget', async () => {
|
|
const rig = new TestRig();
|
|
rig.setup('flicker-detector-test', {
|
|
fakeResponsesPath: join(
|
|
import.meta.dirname,
|
|
'flicker-detector.max-height.responses',
|
|
),
|
|
});
|
|
try {
|
|
const run = await rig.runInteractive();
|
|
const prompt = 'Tell me a fun fact.';
|
|
await run.type(prompt);
|
|
await run.type('\r');
|
|
|
|
const hasUserPromptEvent = await rig.waitForTelemetryEvent('user_prompt');
|
|
expect(hasUserPromptEvent).toBe(true);
|
|
|
|
const hasSessionCountMetric = await rig.waitForMetric('session.count');
|
|
expect(hasSessionCountMetric).toBe(true);
|
|
|
|
// We expect NO flicker event to be found.
|
|
const flickerMetric = rig.readMetric('ui.flicker.count');
|
|
expect(flickerMetric).toBeNull();
|
|
} finally {
|
|
await rig.cleanup();
|
|
}
|
|
});
|
|
});
|