File size: 2,410 Bytes
7a1ad33 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | /**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { afterEach, describe, expect, it } from 'vitest';
import {
DEFAULT_CONTEXT_FILENAME,
getAllGeminiMdFilenames,
resetGeminiMdFilename,
setGeminiMdFilename,
} from './memoryTool.js';
describe('memoryTool filename helpers', () => {
afterEach(() => {
resetGeminiMdFilename(DEFAULT_CONTEXT_FILENAME);
});
describe('setGeminiMdFilename', () => {
it('appends to currentGeminiMdFilename when a valid new name is provided', () => {
const newName = 'CUSTOM_CONTEXT.md';
setGeminiMdFilename(newName);
expect(getAllGeminiMdFilenames()).toEqual([
newName,
DEFAULT_CONTEXT_FILENAME,
]);
});
it('does not update currentGeminiMdFilename if the new name is empty or whitespace', () => {
const initialNames = getAllGeminiMdFilenames();
setGeminiMdFilename(' ');
expect(getAllGeminiMdFilenames()).toEqual(initialNames);
setGeminiMdFilename('');
expect(getAllGeminiMdFilenames()).toEqual(initialNames);
});
it('handles adding an array of filenames', () => {
const newNames = ['CUSTOM_CONTEXT.md', 'ANOTHER_CONTEXT.md'];
setGeminiMdFilename(newNames);
expect(getAllGeminiMdFilenames()).toEqual([
...newNames,
DEFAULT_CONTEXT_FILENAME,
]);
});
it('ensures uniqueness when adding names', () => {
setGeminiMdFilename(DEFAULT_CONTEXT_FILENAME);
expect(getAllGeminiMdFilenames()).toEqual([DEFAULT_CONTEXT_FILENAME]);
setGeminiMdFilename(['NEW.md', 'NEW.md']);
expect(getAllGeminiMdFilenames()).toEqual([
'NEW.md',
DEFAULT_CONTEXT_FILENAME,
]);
});
});
describe('resetGeminiMdFilename', () => {
it('replaces all filenames with the provided one', () => {
setGeminiMdFilename('OTHER.md');
resetGeminiMdFilename('RESET.md');
expect(getAllGeminiMdFilenames()).toEqual(['RESET.md']);
});
it('resets to default if no argument provided', () => {
resetGeminiMdFilename('OTHER.md');
resetGeminiMdFilename(DEFAULT_CONTEXT_FILENAME);
expect(getAllGeminiMdFilenames()).toEqual([DEFAULT_CONTEXT_FILENAME]);
});
it('handles array reset', () => {
resetGeminiMdFilename(['A.md', 'B.md']);
expect(getAllGeminiMdFilenames()).toEqual(['A.md', 'B.md']);
});
});
});
|