2022-11-03 13:54:49 +00:00
package e2etests
import (
_ "embed"
"testing"
)
func testTodo ( t * testing . T ) {
2022-11-11 23:41:24 +00:00
tcs := [ ] testCase {
{
// issue https://github.com/terrastruct/d2/issues/71
name : "container_child_edge" ,
script : `
container . first - > container . second : 1 - > 2
container - > container . second : c - > 2
2022-11-29 19:32:30 +00:00
` ,
2023-02-22 20:31:41 +00:00
dagreFeatureError : ` Connection "(container -> container.second)[0]" goes from a container to a descendant, but layout engine "dagre" does not support this. ` ,
2022-11-29 19:32:30 +00:00
} ,
{
2023-02-10 20:50:25 +00:00
name : "child_parent_edges" ,
script : ` a . b - > a
a . b - > a . b . c
a . b . c . d - > a . b ` ,
2023-02-22 20:31:41 +00:00
dagreFeatureError : ` Connection "(a.b -> a)[0]" goes from a container to a descendant, but layout engine "dagre" does not support this. ` ,
2022-11-29 19:32:30 +00:00
} ,
{
2023-02-10 20:50:25 +00:00
name : "container_label_loop" ,
script : ` a : "If we were meant to fly, we wouldn't keep losing our luggage" {
b - > c
2022-11-29 19:32:30 +00:00
}
2023-02-10 20:50:25 +00:00
a - > a ` ,
2023-02-22 20:31:41 +00:00
dagreFeatureError : ` Connection "(a -> a)[0]" is a self loop on a container, but layout engine "dagre" does not support this. ` ,
2022-11-29 19:32:30 +00:00
} ,
{
2022-12-05 19:36:20 +00:00
// as nesting gets deeper, the groups advance towards `c` and may overlap its lifeline
// needs to consider the group size when computing the distance from `a` to `c`
// a similar effect can be seen for spans
name : "sequence_diagram_actor_padding_nested_groups" ,
script : ` shape : sequence_diagram
b ; a ; c
b - > c
this is a message group : {
2022-12-06 03:50:08 +00:00
a - > b
2022-12-05 19:36:20 +00:00
and this is a nested message group : {
2022-12-06 03:50:08 +00:00
a - > b
2022-12-05 19:36:20 +00:00
what about more nesting : {
2022-12-06 03:50:08 +00:00
a - > b
2022-12-05 19:36:20 +00:00
yo : {
2022-12-06 03:50:08 +00:00
a - > b
2022-12-05 19:36:20 +00:00
yo : {
2022-12-06 03:50:08 +00:00
a - > b
2022-12-05 19:36:20 +00:00
}
}
}
}
} ` ,
2022-11-11 23:41:24 +00:00
} ,
2022-12-22 05:35:18 +00:00
{
// dimensions set on containers are ignored
name : "shape_set_width_height" ,
script : `
containers : {
circle container : {
shape : circle
diamond : {
shape : diamond
width : 128
height : 64
}
}
diamond container : {
shape : diamond
circle : {
shape : circle
width : 128
}
}
oval container : {
shape : oval
hexagon : {
shape : hexagon
width : 128
height : 64
}
}
hexagon container : {
shape : hexagon
oval : {
shape : oval
width : 128
height : 64
}
}
}
cloud : {
shape : cloud
width : 512
height : 256
}
tall cylinder : {
shape : cylinder
width : 256
height : 512
}
cloud - > class - > tall cylinder - > users
users : {
shape : sql_table
id : int
name : string
email : string
password : string
last_login : datetime
width : 800
height : 400
}
class : {
shape : class
- num : int
- timeout : int
- pid
+ getStatus ( ) : Enum
+ getJobs ( ) : "Job[]"
+ setTimeout ( seconds int )
width : 800
height : 400
}
container - > text - > code - > small code
text : {
label : | md
markdown text expanded to 800 x400
|
height : 800
width : 400
}
code : | go
a := 5
b := a + 7
fmt . Printf ( "%d" , b )
| {
width : 400
height : 300
}
small code : | go
a := 5
b := a + 7
fmt . Printf ( "%d" , b )
| {
width : 4
height : 3
}
2023-02-02 18:30:54 +00:00
` ,
} ,
{
// issue https://github.com/terrastruct/d2/issues/748
name : "sequence_diagram_edge_group_span_field" ,
script : `
Office chatter : {
shape : sequence_diagram
alice : Alice
bob : Bobby
alice . a
awkward small talk : {
alice - > bob : uhm , hi
bob - > alice : oh , hello
icebreaker attempt : {
alice - > bob : what did you have for lunch ?
}
unfortunate outcome : {
bob . a - > alice . a : that ' s personal
}
}
}
2023-02-03 04:44:27 +00:00
` ,
} ,
{
// issue https://github.com/terrastruct/d2/issues/748
skip : true ,
name : "sequence_diagram_ambiguous_edge_group" ,
script : `
Office chatter : {
shape : sequence_diagram
alice : Alice
bob : Bobby
awkward small talk : {
awkward small talk . ok
alice - > bob : uhm , hi
bob - > alice : oh , hello
icebreaker attempt : {
alice - > bob : what did you have for lunch ?
}
unfortunate outcome : {
bob - > alice : that ' s personal
}
}
}
2023-02-10 22:13:32 +00:00
` ,
} ,
{
// https://github.com/terrastruct/d2/issues/791
name : "container_icon_label" ,
script : ` a : Big font {
icon : https : //icons.terrastruct.com/essentials/004-picture.svg
style . font - size : 30
a - > b - > c
a : {
a
}
}
2023-02-23 18:38:17 +00:00
` ,
} ,
{
name : "container_label_edge_adjustment" ,
script : `
a - > b . c - > d
2022-12-22 05:35:18 +00:00
` ,
} ,
2022-11-11 23:41:24 +00:00
}
2022-11-03 13:54:49 +00:00
runa ( t , tcs )
}