|
2 | 2 | "$comment": "Files listed here are exempt from coverage thresholds. Each entry should include a reason. Remove entries as you add tests.", |
3 | 3 | "files": { |
4 | 4 | "accent-color.ts": { "reason": "Depends on Tauri invoke and listen APIs" }, |
| 5 | + "commands/command-registry.ts": { |
| 6 | + "reason": "95% static command definitions; filtering validated by fuzzy-search tests" |
| 7 | + }, |
5 | 8 | "ui/AlertDialog.svelte": { "reason": "Simple UI modal for informational messages" }, |
6 | 9 | "ui/CommandBox.svelte": { "reason": "Simple UI component, clipboard + 2s timeout" }, |
7 | 10 | "ui/dialog-registry.ts": { "reason": "Pure constant and type definition, no logic to test" }, |
|
28 | 31 | }, |
29 | 32 | "file-explorer/pane/DualPaneExplorer.svelte": { "reason": "Tested in integration.test.ts, complex component" }, |
30 | 33 | "file-operations/mkdir/new-folder-operations.ts": { "reason": "Depends on FilePane refs and Tauri listen API" }, |
31 | | - "file-explorer/pane/sorting-handlers.ts": { "reason": "getNewSortOrder tested, rest depends on FilePane refs" }, |
| 34 | + "file-explorer/pane/sorting-handlers.ts": { |
| 35 | + "reason": "applySortResult/collectSortState depend on FilePane refs; index functions tested" |
| 36 | + }, |
32 | 37 | "file-explorer/selection/FileIcon.svelte": { "reason": "Simple UI component, display only" }, |
33 | 38 | "file-explorer/pane/FilePane.svelte": { "reason": "Tested in integration.test.ts, complex component" }, |
34 | 39 | "file-explorer/pane/MtpConnectionView.svelte": { "reason": "MTP connection UI, depends on Tauri APIs" }, |
35 | 40 | "file-explorer/pane/NetworkMountView.svelte": { "reason": "Network mount UI, depends on Tauri APIs" }, |
36 | 41 | "file-explorer/pane/rename-flow.svelte.ts": { |
37 | 42 | "reason": "Extracted from FilePane, depends on Tauri commands and rename operations" |
38 | 43 | }, |
39 | | - "file-explorer/pane/selection-state.svelte.ts": { |
40 | | - "reason": "Reactive selection state, tested via FilePane integration" |
41 | | - }, |
42 | 44 | "file-explorer/views/FullList.svelte": { |
43 | 45 | "reason": "Logic tested in full-list-utils.ts, component mounting heavy" |
44 | 46 | }, |
|
50 | 52 | }, |
51 | 53 | "file-explorer/network/NetworkBrowser.svelte": { "reason": "Network component, needs Tauri integration" }, |
52 | 54 | "file-explorer/pane/PaneResizer.svelte": { "reason": "Mouse drag UI component, difficult to unit test" }, |
53 | | - "file-explorer/navigation/path-navigation.ts": { "reason": "Depends on Tauri pathExists command" }, |
54 | 55 | "file-explorer/network/NetworkLoginForm.svelte": { "reason": "Network component, needs Tauri integration" }, |
55 | 56 | "file-explorer/pane/PermissionDeniedPane.svelte": { "reason": "Simple UI component" }, |
56 | 57 | "file-explorer/pane/VolumeUnreachableBanner.svelte": { |
|
79 | 80 | "settings/components/SettingNumberInput.svelte": { "reason": "UI component, logic is simple" }, |
80 | 81 | "settings/components/SettingRadioGroup.svelte": { "reason": "UI component, logic is simple" }, |
81 | 82 | "settings/components/SectionSummary.svelte": { "reason": "UI component, simple navigation cards" }, |
82 | | - "settings/format-utils.ts": { "reason": "Simple date formatting, low complexity" }, |
83 | | - "settings/network-settings.ts": { "reason": "Thin wrapper over getSetting, requires mocking settings store" }, |
84 | 83 | "settings/reactive-settings.svelte.ts": { "reason": "Svelte reactive state, depends on settings store" }, |
85 | 84 | "settings/settings-applier.ts": { "reason": "Depends on DOM APIs (document.documentElement.style)" }, |
86 | 85 | "settings/components/SettingRow.svelte": { "reason": "UI component, layout only" }, |
|
97 | 96 | "settings/sections/KeyboardShortcutsSection.svelte": { |
98 | 97 | "reason": "UI section, logic tested in shortcuts/*.test.ts" |
99 | 98 | }, |
| 99 | + "settings/sections/LicenseSection.svelte": { |
| 100 | + "reason": "UI section, pure logic extracted to license-section-utils.ts and tested" |
| 101 | + }, |
100 | 102 | "settings/sections/LoggingSection.svelte": { "reason": "UI section, simple rendering" }, |
101 | 103 | "settings/mcp-settings-bridge.ts": { "reason": "MCP bridge, depends on Tauri APIs and events" }, |
102 | 104 | "settings/sections/McpServerSection.svelte": { "reason": "UI section, depends on Tauri APIs" }, |
|
107 | 109 | "settings/sections/UpdatesSection.svelte": { "reason": "UI section, simple rendering" }, |
108 | 110 | "settings/settings-store.ts": { "reason": "Depends on Tauri store APIs" }, |
109 | 111 | "settings/settings-window.ts": { "reason": "Depends on Tauri window APIs" }, |
110 | | - "shortcuts/conflict-detector.ts": { "reason": "Logic tested via shortcuts.test.ts" }, |
111 | 112 | "shortcuts/mcp-shortcuts-listener.ts": { "reason": "MCP listener, depends on Tauri events" }, |
112 | 113 | "shortcuts/keyboard-handler.ts": { "reason": "DOM event handling, tested via integration" }, |
113 | 114 | "shortcuts/shortcuts-store.ts": { "reason": "Depends on Tauri store APIs" }, |
|
121 | 122 | "tauri-commands/mtp.ts": { "reason": "Tauri command wrappers, tested via integration" }, |
122 | 123 | "tauri-commands/networking.ts": { "reason": "Tauri command wrappers, tested via integration" }, |
123 | 124 | "tauri-commands/settings.ts": { "reason": "Tauri command wrappers, tested via integration" }, |
124 | | - "tauri-commands/ipc-types.ts": { "reason": "Type definitions and small helpers, tested via consuming modules" }, |
125 | 125 | "tauri-commands/storage.ts": { "reason": "Tauri command wrappers, tested via integration" }, |
126 | 126 | "tauri-commands/write-operations.ts": { "reason": "Tauri command wrappers, tested via integration" }, |
127 | 127 | "utils/confirm-dialog.ts": { "reason": "Thin wrapper over Tauri dialog API" }, |
|
0 commit comments