it is time

This commit is contained in:
2026-02-05 00:55:10 -05:00
parent 4579659784
commit 6950deaa88
15 changed files with 890 additions and 140 deletions

View File

@@ -0,0 +1,80 @@
# 10. Test Theme Switching and Light/Dark Mode
meta:
id: theme-refactoring-10
feature: theme-refactoring-json-format
priority: P0
depends_on: [theme-refactoring-05, theme-refactoring-09]
tags: [testing, verification]
objective:
- Comprehensive testing of theme switching functionality
- Verify light/dark mode switching works correctly
- Test all theme JSON files load and apply correctly
- Ensure theme persistence works across sessions
deliverables:
- `src/utils/theme.test.ts` - Theme utility tests
- `src/context/ThemeContext.test.ts` - Context tests
- Test results showing all themes work correctly
steps:
- Step 10.1: Create `src/utils/theme.test.ts`
- Test theme loading functions
- Test theme resolution logic
- Test color reference resolution
- Test ANSI color conversion
- Step 10.2: Create `src/context/ThemeContext.test.ts`
- Test theme context initialization
- Test theme switching
- Test mode switching
- Test system theme detection
- Test localStorage persistence
- Test reactive theme updates
- Step 10.3: Manual testing
- Test switching between all themes (catppuccin, gruvbox, tokyo, nord)
- Test light/dark mode switching
- Test system theme detection
- Test theme persistence (close and reopen app)
- Test custom theme loading
- Step 10.4: Visual verification
- Verify all theme colors are correct
- Check readability of text colors
- Verify background colors are appropriate
- Check that all UI elements use theme colors
tests:
- Unit:
- Run all theme utility tests
- Run all theme context tests
- Verify all tests pass
- Integration/e2e:
- Test theme switching in application
- Test light/dark mode switching
- Test theme persistence
- Test system theme detection
acceptance_criteria:
- All unit tests pass
- All integration tests pass
- Theme switching works correctly
- Light/dark mode switching works correctly
- All themes load and apply correctly
- Theme persistence works across sessions
validation:
- Run: `bun test src/utils/theme.test.ts`
- Run: `bun test src/context/ThemeContext.test.ts`
- Run: `bun test` - Run all tests
- Manual testing of all themes
- Visual verification of theme appearance
notes:
- Test with actual terminal to verify system theme detection
- Verify all theme colors are visually appealing
- Check for any color contrast issues
- Test edge cases (missing themes, invalid colors)