Graph::Easy successfully folds some attributes (such as border) into
nodes affected by them when producing Graphviz output.
However, other attributes (such as shape) are "forgotten" when producing
Graphviz output, and nodes with those classes get the default shape
instead of the intended one.
For instance, consider the following Graph::Easy input:
node.city { shape: diamond; border: dashed } [Bonn] {class: city} -->
[Berlin]{shape: circle}
The output (after passing through a Graph::Easy graphviz filter) is the
following:
'digraph GRAPH_0 {
// Generated by Graph::Easy 0.71 at Wed Apr 4 22:14:26 2012
edge [ arrowhead=open ];
graph [ rankdir=LR ];
node [
fontsize=11,
fillcolor=white,
style=filled,
shape=box ];
Berlin [ shape=circle ]
Bonn [ style="filled,dashed" ]
Bonn -> Berlin [ color="#000000" ]
You would expect that either Berlin and Bohn would have a shape, or that
neither would. Or you'd expect that classes were completely ignored and
htat Bohn would have neither a shape nor a color.
However, instead, Bohn ends up with a dashed (copied from its class) but
no shape (forgotten due to a bug). But Berlin, which has its shape
internally, continues to "remember" its shape.