| |
| |
| |
| |
| |
|
|
| 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']); |
| }); |
| }); |
| }); |
|
|