test(draw): cover the 2.9.0 drawing-card additions to clear the coverage floor

The drawing-card feature batch (icon/image/compare/graph/d2 cards, --stdin,
tool resolution) added widget + wiring code that dipped total coverage under
the 95% floor — surfaced by `make release` (push-check skips coverage). Cover
the gaps: ProblemsController.refresh, every SVG shape-type bbox + the style
vocabulary, _spawnD2 via a real /bin/cat, the icon-show bus path + error
branches, and quad/arc/close marker paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-01 22:00:56 +02:00
co-authored by Claude Opus 4.8
parent 9abcb0c30c
commit 1d9000988d
11 changed files with 270 additions and 0 deletions
+7
View File
@@ -8,6 +8,13 @@ void main() {
Future<DrawResult> resolve(DrawingCardDoc doc, DrawingRegistry reg, {Map<String, String> files = const {}}) =>
resolveDrawingSvg(doc, reg, readFile: reader(files));
test('a fresh registry is empty; registering a handler fills it', () {
expect(DrawingRegistry().isEmpty, isTrue);
final reg = DrawingRegistry()..register('x', (_) async => const DrawOk('<svg/>'));
expect(reg.isEmpty, isFalse);
expect(reg.handlerFor('x'), isNotNull);
});
group('resolveDrawingSvg', () {
test('primitive: inline svg passes through', () async {
final r = await resolve(parseDrawingCardDoc({'svg': '<svg id="x"/>'})!, DrawingRegistry());