From 446a3f98d62fc791906f9eac86c7ee0decc690d8 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Mon, 28 Sep 2026 23:56:34 +0200 Subject: [PATCH] Test that renderEdges panics on a node kind it does not handle --- render_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/render_test.go b/render_test.go index d0da7aa..5fda506 100644 --- a/render_test.go +++ b/render_test.go @@ -2,6 +2,8 @@ package fejkdata import ( "encoding/json" + "fmt" + "strings" "testing" ) @@ -54,3 +56,21 @@ func quote(s string) string { } return string(b) } + +type unhandledNode struct{} + +func (*unhandledNode) isNode() {} + +func TestRenderEdgesPanicsOnAnUnhandledNode(t *testing.T) { + for _, n := range []node{&folder{}, &nullItem{}} { + if es := renderEdges(n); len(es) != 0 { + t.Errorf("renderEdges(%T) = %v, want no edges", n, es) + } + } + defer func() { + if r := recover(); r == nil || !strings.Contains(fmt.Sprint(r), "*fejkdata.unhandledNode") { + t.Errorf("renderEdges(unhandledNode) recovered %v, want a panic naming the node kind", r) + } + }() + renderEdges(&unhandledNode{}) +}