diff --git a/jac/jaclang/plugin/default.py b/jac/jaclang/plugin/default.py index 9fc1da55e..bf06bd165 100644 --- a/jac/jaclang/plugin/default.py +++ b/jac/jaclang/plugin/default.py @@ -510,9 +510,10 @@ def dfs(node: NodeArchitype, cur_depth: int) -> None: 'fillcolor="invis", fontcolor="black"];\n' ) for source, target, edge in connections: + edge_label = html.escape(str(edge.__jac__.architype)) dot_content += ( f"{visited_nodes.index(source)} -> {visited_nodes.index(target)} " - f' [label="{html.escape(str(edge.__jac__.architype))} "];\n' + f' [label="{edge_label if "GenericEdge" not in edge_label else ""}"];\n' ) for node_ in visited_nodes: color = ( diff --git a/jac/jaclang/tests/fixtures/builtin_dotgen.jac b/jac/jaclang/tests/fixtures/builtin_dotgen.jac index 0b02dd61b..bdb570201 100644 --- a/jac/jaclang/tests/fixtures/builtin_dotgen.jac +++ b/jac/jaclang/tests/fixtures/builtin_dotgen.jac @@ -27,11 +27,11 @@ with entry{ d3=dotgen(b[2],edge_limit=5,depth=5);l3=d3|>len; #generate dot for all connected with b[1] node d4=dotgen(b[1],bfs=True,edge_type= ["Edge1"],node_limit=100,edge_limit=900,depth=300);l4=d4|>len; #generate dot from nodes with depth 3 connected with b[1] node d5=dotgen(b[1],node_limit=10,edge_limit=90);l5:=d5|>len; #generate dot from nodes with depth 3 connected with b[1] node - print(d1.count('a(val')==12,d1.count('#FFFFE0')==3,'Root' in d1,d1.count('GenericEdge')==30); - print(d2.count('a(val')==19,d2.count('#F5E5FF')==2 ,'Edge1' not in d2,d2.count('GenericEdge')==42); - print(d3.count('a(val')==6,d3.count("GenericEdge")==5,d3.count('#F5E5FF')==1); - print(d4.count("a(val")==25,d4.count("GenericEdge")==66,d4.count('#FFF0F')==3); - print(d5.count("Edge1(val=6)")==2, d5.count("GenericEdge()")==24); + print(d1.count('a(val')==12,d1.count('#FFFFE0')==3,'Root' in d1,d1.count('label=" "')==30); + print(d2.count('a(val')==19,d2.count('#F5E5FF')==2 ,'Edge1' not in d2,d2.count('label=" "')==42); + print(d3.count('a(val')==6,d3.count('label=" "')==5,d3.count('#F5E5FF')==1); + print(d4.count("a(val")==25,d4.count('label=" "')==66,d4.count('#FFF0F')==3); + print(d5.count("Edge1(val=6)")==2, d5.count('label=" "')==24); # print(l3