From b40eb5a4d86497dc151085e16715e55cfe9a13db Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 19 Feb 2023 21:33:37 -0800 Subject: [PATCH] d2oracle: delete dimensions and positions --- d2oracle/edit.go | 4 + d2oracle/edit_test.go | 24 +++++ testdata/d2oracle/TestDelete/left.exp.json | 109 ++++++++++++++++++++ testdata/d2oracle/TestDelete/width.exp.json | 109 ++++++++++++++++++++ 4 files changed, 246 insertions(+) create mode 100644 testdata/d2oracle/TestDelete/left.exp.json create mode 100644 testdata/d2oracle/TestDelete/width.exp.json diff --git a/d2oracle/edit.go b/d2oracle/edit.go index fb63fd419..8813755bf 100644 --- a/d2oracle/edit.go +++ b/d2oracle/edit.go @@ -687,6 +687,10 @@ func deleteReserved(g *d2graph.Graph, mk *d2ast.Key) (*d2graph.Graph, error) { if id == "near" || id == "tooltip" || id == "icon" || + id == "width" || + id == "height" || + id == "left" || + id == "top" || id == "link" { err := deleteObjField(g, obj, id) if err != nil { diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index d01f44b5e..f6dc0cf3a 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -4507,6 +4507,30 @@ A -> B: {style.stroke: "#2b50c2"} exp: `A: {style.stroke: "#000e3d"} B A -> B +`, + }, + { + name: "width", + + text: `x: { + width: 200 +} +`, + key: `x.width`, + + exp: `x +`, + }, + { + name: "left", + + text: `x: { + left: 200 +} +`, + key: `x.left`, + + exp: `x `, }, } diff --git a/testdata/d2oracle/TestDelete/left.exp.json b/testdata/d2oracle/TestDelete/left.exp.json new file mode 100644 index 000000000..0be52a3ad --- /dev/null +++ b/testdata/d2oracle/TestDelete/left.exp.json @@ -0,0 +1,109 @@ +{ + "graph": { + "name": "", + "ast": { + "range": "d2/testdata/d2oracle/TestDelete/left.d2,0:0:0-1:0:2", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/left.d2,0:0:0-0:1:1", + "key": { + "range": "d2/testdata/d2oracle/TestDelete/left.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/left.d2,0:0:0-0:1:1", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + } + ] + }, + "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": "x", + "id_val": "x", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/left.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/left.d2,0:0:0-0:1:1", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "x" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + } + ] + }, + "err": "" +} diff --git a/testdata/d2oracle/TestDelete/width.exp.json b/testdata/d2oracle/TestDelete/width.exp.json new file mode 100644 index 000000000..c1c010bcb --- /dev/null +++ b/testdata/d2oracle/TestDelete/width.exp.json @@ -0,0 +1,109 @@ +{ + "graph": { + "name": "", + "ast": { + "range": "d2/testdata/d2oracle/TestDelete/width.d2,0:0:0-1:0:2", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/width.d2,0:0:0-0:1:1", + "key": { + "range": "d2/testdata/d2oracle/TestDelete/width.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/width.d2,0:0:0-0:1:1", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + } + ] + }, + "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": "x", + "id_val": "x", + "label_dimensions": { + "width": 0, + "height": 0 + }, + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestDelete/width.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/width.d2,0:0:0-0:1:1", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "x" + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": { + "value": "" + } + }, + "zIndex": 0 + } + ] + }, + "err": "" +}