mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-11 06:31:01 -07:00
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
import { exitCli } from './utils.js';
|
|
import { runExitCleanup } from '../utils/cleanup.js';
|
|
|
|
vi.mock('../utils/cleanup.js', () => ({
|
|
runExitCleanup: vi.fn(),
|
|
}));
|
|
|
|
describe('utils', () => {
|
|
const originalProcessExit = process.exit;
|
|
|
|
beforeEach(() => {
|
|
// @ts-expect-error - Mocking process.exit
|
|
process.exit = vi.fn();
|
|
});
|
|
|
|
afterEach(() => {
|
|
process.exit = originalProcessExit;
|
|
vi.clearAllMocks();
|
|
});
|
|
|
|
describe('exitCli', () => {
|
|
it('should call runExitCleanup and process.exit with default exit code 0', async () => {
|
|
await exitCli();
|
|
expect(runExitCleanup).toHaveBeenCalled();
|
|
expect(process.exit).toHaveBeenCalledWith(0);
|
|
});
|
|
|
|
it('should call runExitCleanup and process.exit with specified exit code', async () => {
|
|
await exitCli(1);
|
|
expect(runExitCleanup).toHaveBeenCalled();
|
|
expect(process.exit).toHaveBeenCalledWith(1);
|
|
});
|
|
});
|
|
});
|