Files
clide/test/kernel/src/toolchain_paths_test.dart
T
jpmschweitzerandClaude Opus 4.7 e430a87569 test sweep: kernel commands + widgets coverage, ratchet floor to 93
Add tests for `keybindings.dart` (KeyEvent → Keybinding mapping,
parse-error edges, resolver entries view), `toolchain_paths.dart`
(the Flutter-free `ToolchainView.resolved` static view), and several
`widgets/src/` primitives: tooltip hover/overlay, palette filter +
submit, multitab controller `copyWith` + size getters, and additional
markdown branches (h3–h6 headings, tables, strikethrough, default
block fallback, record-link tap).

Unfreezes the pre-push coverage floor that was held at 90 on
2026-05-14 by mistake and ratchets to 93. Tidies eight test files
that had accumulated unused imports flagged by `unnecessary_import`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:20:37 +02:00

51 lines
1.6 KiB
Dart

/// Unit tests for `ToolchainView.resolved` (the Flutter-free `_StaticToolchain`)
/// in `lib/kernel/src/toolchain_paths.dart`. The listenable `Toolchain` and the
/// top-level `resolveToolchainPaths` are covered by `toolchain_test.dart`.
library;
import 'package:clide/kernel/src/toolchain_paths.dart';
import 'package:test/test.dart';
void main() {
group('ToolchainView.resolved', () {
test('exposes the supplied paths verbatim', () {
final v = ToolchainView.resolved(const ResolvedPaths(
git: '/opt/git',
pql: '/opt/pql',
tmux: '/opt/tmux',
shell: '/usr/bin/zsh',
gitEnv: {'GIT_EXEC_PATH': '/opt/git-core'},
));
expect(v.git, '/opt/git');
expect(v.pql, '/opt/pql');
expect(v.tmux, '/opt/tmux');
expect(v.shell, '/usr/bin/zsh');
expect(v.gitEnv, {'GIT_EXEC_PATH': '/opt/git-core'});
expect(v.resolved, isTrue);
expect(v.allOk, isTrue);
expect(v.missing, isEmpty);
});
test('falls back to bare command names when paths are null', () {
final v = ToolchainView.resolved(const ResolvedPaths());
expect(v.git, 'git');
expect(v.pql, 'pql');
expect(v.tmux, 'tmux');
expect(v.shell, '/bin/bash');
expect(v.gitEnv, isNull);
expect(v.resolved, isTrue);
expect(v.allOk, isFalse);
expect(v.missing, ['git', 'pql', 'tmux']);
});
test('missing reports only the unresolved tools', () {
final v = ToolchainView.resolved(const ResolvedPaths(
git: '/opt/git',
// pql + tmux null → missing.
));
expect(v.missing, ['pql', 'tmux']);
expect(v.allOk, isFalse);
});
});
}