From d082d97469b7898529016ace5b64f6937a104895 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Mon, 20 Feb 2023 14:31:26 -0800 Subject: [PATCH] [ci-base] fix last pr --- d2oracle/edit.go | 4 +- d2oracle/edit_test.go | 9 ++ .../d2oracle/TestSet/set_tooltip.exp.json | 151 ++++++++++++++++++ 3 files changed, 162 insertions(+), 2 deletions(-) create mode 100644 testdata/d2oracle/TestSet/set_tooltip.exp.json diff --git a/d2oracle/edit.go b/d2oracle/edit.go index ec27b63a2..76f34c240 100644 --- a/d2oracle/edit.go +++ b/d2oracle/edit.go @@ -249,12 +249,12 @@ func _set(g *d2graph.Graph, key string, tag, value *string) error { return nil } case "link": - if attrs.Link.MapKey != nil { + if attrs.Link != nil && attrs.Link.MapKey != nil { attrs.Link.MapKey.SetScalar(mk.Value.ScalarBox()) return nil } case "tooltip": - if attrs.Tooltip.MapKey != nil { + if attrs.Tooltip != nil && attrs.Tooltip.MapKey != nil { attrs.Tooltip.MapKey.SetScalar(mk.Value.ScalarBox()) return nil } diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index 4da115a8e..965ce4826 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -741,6 +741,15 @@ square.style.opacity: 0.2 exp: `square: { width: 200 } +`, + }, + { + name: "set_tooltip", + text: `square +`, + key: `square.tooltip`, + value: go2.Pointer(`y`), + exp: `square: {tooltip: y} `, }, { diff --git a/testdata/d2oracle/TestSet/set_tooltip.exp.json b/testdata/d2oracle/TestSet/set_tooltip.exp.json new file mode 100644 index 000000000..15cd02ebd --- /dev/null +++ b/testdata/d2oracle/TestSet/set_tooltip.exp.json @@ -0,0 +1,151 @@ +{ + "graph": { + "name": "", + "ast": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:0:0-1:0:21", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:0:0-0:20:20", + "key": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:0:0-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:0:0-0:6:6", + "value": [ + { + "string": "square", + "raw_string": "square" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:8:8-0:19:19", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:9:9-0:19:19", + "key": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:9:9-0:16:16", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:9:9-0:16:16", + "value": [ + { + "string": "tooltip", + "raw_string": "tooltip" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:18:18-0:19:19", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + } + } + ] + } + } + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "attributes": { + "label": { + "value": "" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + }, + "edges": null, + "objects": [ + { + "id": "square", + "id_val": "square", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:0:0-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestSet/set_tooltip.d2,0:0:0-0:6:6", + "value": [ + { + "string": "square", + "raw_string": "square" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "square" + }, + "style": {}, + "tooltip": { + "value": "y" + }, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + } + ] + }, + "err": "" +}