Fix -e <extension> for disabled extensions (#9994)

This commit is contained in:
Jacob MacDonald
2025-09-29 06:53:19 -07:00
committed by GitHub
parent d1485d4672
commit ea061f52b0
12 changed files with 1260 additions and 208 deletions

View File

@@ -10,6 +10,7 @@ import * as os from 'node:os';
import * as path from 'node:path';
import {
EXTENSIONS_CONFIG_FILENAME,
ExtensionStorage,
INSTALL_METADATA_FILENAME,
annotateActiveExtensions,
loadExtension,
@@ -19,6 +20,7 @@ import { GEMINI_DIR } from '@google/gemini-cli-core';
import { isWorkspaceTrusted } from '../trustedFolders.js';
import { ExtensionUpdateState } from '../../ui/state/extensions.js';
import { createExtension } from '../../test-utils/createExtension.js';
import { ExtensionEnablementManager } from './extensionEnablement.js';
const mockGit = {
clone: vi.fn(),
@@ -134,8 +136,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
const updateInfo = await updateExtension(
extension,
@@ -192,8 +194,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
await updateExtension(
extension,
@@ -234,8 +236,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
await expect(
updateExtension(
@@ -274,8 +276,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
mockGit.getRemotes.mockResolvedValue([
@@ -317,8 +319,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
mockGit.getRemotes.mockResolvedValue([
@@ -364,8 +366,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
let extensionState = new Map();
const results = await checkForAllExtensionUpdates(
@@ -405,8 +407,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
let extensionState = new Map();
const results = await checkForAllExtensionUpdates(
@@ -442,8 +444,8 @@ describe('update tests', () => {
workspaceDir: tempWorkspaceDir,
})!,
],
[],
process.cwd(),
new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()),
)[0];
mockGit.getRemotes.mockRejectedValue(new Error('Git error'));