Files
PodTui/tasks/subtasks/theme-refactoring-11-custom-themes.md
2026-02-05 00:55:10 -05:00

2.2 KiB

11. Verify Custom Theme Loading and Persistence

meta: id: theme-refactoring-11 feature: theme-refactoring-json-format priority: P1 depends_on: [theme-refactoring-06, theme-refactoring-10] tags: [testing, verification]

objective:

  • Test custom theme loading from directories
  • Verify theme persistence works correctly
  • Test custom theme switching
  • Ensure custom themes are loaded on app start

deliverables:

  • Test results for custom theme loading
  • Documentation for custom theme format
  • Verification that custom themes work correctly

steps:

  • Step 11.1: Create test theme files

    • Create test theme in ~/.config/podtui/themes/
    • Create test theme in ./.podtui/themes/
    • Create test theme in ./themes/
  • Step 11.2: Test custom theme loading

    • Start application and verify custom themes are loaded
    • Switch to custom theme
    • Verify custom theme applies correctly
  • Step 11.3: Test theme persistence

    • Set custom theme
    • Close application
    • Reopen application
    • Verify custom theme is still selected
  • Step 11.4: Test theme discovery

    • List all available themes
    • Verify custom themes appear in list
    • Test switching to custom themes
  • Step 11.5: Test invalid theme handling

    • Create invalid theme JSON
    • Verify error is handled gracefully
    • Verify app doesn't crash

tests:

  • Unit:

    • Test custom theme loading functions
    • Test theme discovery
    • Test invalid theme handling
  • Integration/e2e:

    • Test custom theme loading from directories
    • Test theme persistence
    • Test theme discovery
    • Test invalid theme handling

acceptance_criteria:

  • Custom themes can be loaded from directories
  • Custom themes persist across sessions
  • Custom themes appear in theme list
  • Invalid themes are handled gracefully
  • Theme discovery works correctly

validation:

  • Run: bun test src/utils/custom-themes.test.ts
  • Run: bun test - Run all tests
  • Manual testing of custom themes
  • Verify themes persist after restart

notes:

  • Create documentation for custom theme format
  • Reference: /home/mike/code/PodTui/opencode/packages/opencode/src/cli/cmd/tui/context/theme.tsx (lines 394-419)
  • Test with multiple custom themes
  • Verify all custom themes work correctly