From b2cb2d15ac7f3f49fcdfbede9f2897decb0dcd67 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Mon, 19 Jun 2023 10:43:34 -0700 Subject: [PATCH] more tests --- d2oracle/edit_test.go | 73 ++ .../scenarios-edge-inherited.exp.json | 786 ++++++++++++++++++ .../TestCreate/scenarios-edge.exp.json | 681 +++++++++++++++ .../d2oracle/TestCreate/steps-edge.exp.json | 728 ++++++++++++++++ 4 files changed, 2268 insertions(+) create mode 100644 testdata/d2oracle/TestCreate/scenarios-edge-inherited.exp.json create mode 100644 testdata/d2oracle/TestCreate/scenarios-edge.exp.json create mode 100644 testdata/d2oracle/TestCreate/steps-edge.exp.json diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index 60cb3236e..ceacc1448 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -550,6 +550,54 @@ scenarios: { c } } +`, + }, + { + name: "scenarios-edge", + + text: `a +b +scenarios: { + x: { + a + } +} +`, + key: `a -> b`, + boardPath: []string{"root", "scenarios", "x"}, + + expKey: `(a -> b)[0]`, + exp: `a +b +scenarios: { + x: { + a + a -> b + } +} +`, + }, + { + name: "scenarios-edge-inherited", + + text: `a -> b +scenarios: { + x: { + a + } +} +`, + key: `a -> b`, + boardPath: []string{"root", "scenarios", "x"}, + + expKey: `(a -> b)[1]`, + exp: `a -> b +scenarios: { + x: { + a + a -> b + } +} `, }, { @@ -575,6 +623,31 @@ steps: { c } } +`, + }, + { + name: "steps-edge", + + text: `a +d +steps: { + x: { + b + } +} +`, + key: `d -> b`, + boardPath: []string{"root", "steps", "x"}, + + expKey: `(d -> b)[0]`, + exp: `a +d +steps: { + x: { + b + d -> b + } +} `, }, } diff --git a/testdata/d2oracle/TestCreate/scenarios-edge-inherited.exp.json b/testdata/d2oracle/TestCreate/scenarios-edge-inherited.exp.json new file mode 100644 index 000000000..9e2880fc8 --- /dev/null +++ b/testdata/d2oracle/TestCreate/scenarios-edge-inherited.exp.json @@ -0,0 +1,786 @@ +{ + "graph": { + "name": "", + "isFolderOnly": false, + "ast": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-7:0:50", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:6:6", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:6:6", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,1:0:7-6:1:49", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,1:0:7-1:9:16", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,1:0:7-1:9:16", + "value": [ + { + "string": "scenarios", + "raw_string": "scenarios" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,1:11:18-6:1:49", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,2:2:22-5:3:47", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,2:2:22-2:3:23", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,2:2:22-2:3:23", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,2:5:25-5:3:47", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:10:43", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:10:43", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:5:38", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:5:38", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:9:42-4:10:43", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:9:42-4:10:43", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + "edges": [ + { + "index": 0, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "objects": [ + { + "id": "a", + "id_val": "a", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "a" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "b", + "id_val": "b", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "b" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "scenarios": [ + { + "name": "x", + "isFolderOnly": false, + "ast": { + "range": ",1:0:0-2:0:0", + "nodes": [ + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "edges": [ + { + "range": ",0:0:0-0:0:0", + "src": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "edges": [ + { + "range": ",0:0:0-0:0:0", + "src": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + }, + "baseAST": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,2:5:25-5:3:47", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:10:43", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:10:43", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:5:38", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:5:38", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:9:42-4:10:43", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:9:42-4:10:43", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + "edges": [ + { + "index": 0, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "index": 1, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "objects": [ + { + "id": "a", + "id_val": "a", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,3:4:31-3:5:32", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:5:38", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:4:37-4:5:38", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "a" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "b", + "id_val": "b", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:9:42-4:10:43", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge-inherited.d2,4:9:42-4:10:43", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "b" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ] + } + ] + }, + "err": "" +} diff --git a/testdata/d2oracle/TestCreate/scenarios-edge.exp.json b/testdata/d2oracle/TestCreate/scenarios-edge.exp.json new file mode 100644 index 000000000..91bbc8a5d --- /dev/null +++ b/testdata/d2oracle/TestCreate/scenarios-edge.exp.json @@ -0,0 +1,681 @@ +{ + "graph": { + "name": "", + "isFolderOnly": false, + "ast": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-8:0:47", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,2:0:4-7:1:46", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,2:0:4-2:9:13", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,2:0:4-2:9:13", + "value": [ + { + "string": "scenarios", + "raw_string": "scenarios" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,2:11:15-7:1:46", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,3:2:19-6:3:44", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,3:2:19-3:3:20", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,3:2:19-3:3:20", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,3:5:22-6:3:44", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:10:40", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:10:40", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:5:35", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:5:35", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:9:39-5:10:40", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:9:39-5:10:40", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + "edges": null, + "objects": [ + { + "id": "a", + "id_val": "a", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "a" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "b", + "id_val": "b", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "b" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "scenarios": [ + { + "name": "x", + "isFolderOnly": false, + "ast": { + "range": ",1:0:0-2:0:0", + "nodes": [ + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "edges": [ + { + "range": ",0:0:0-0:0:0", + "src": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + }, + "baseAST": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,3:5:22-6:3:44", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:10:40", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:10:40", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:5:35", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:5:35", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:9:39-5:10:40", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:9:39-5:10:40", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + "edges": [ + { + "index": 0, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "objects": [ + { + "id": "a", + "id_val": "a", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,4:4:28-4:5:29", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:5:35", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:4:34-5:5:35", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "a" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "b", + "id_val": "b", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,1:0:2-1:1:3", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:9:39-5:10:40", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/scenarios-edge.d2,5:9:39-5:10:40", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "b" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ] + } + ] + }, + "err": "" +} diff --git a/testdata/d2oracle/TestCreate/steps-edge.exp.json b/testdata/d2oracle/TestCreate/steps-edge.exp.json new file mode 100644 index 000000000..b6721480f --- /dev/null +++ b/testdata/d2oracle/TestCreate/steps-edge.exp.json @@ -0,0 +1,728 @@ +{ + "graph": { + "name": "", + "isFolderOnly": false, + "ast": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-8:0:43", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "value": [ + { + "string": "d", + "raw_string": "d" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,2:0:4-7:1:42", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,2:0:4-2:5:9", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,2:0:4-2:5:9", + "value": [ + { + "string": "steps", + "raw_string": "steps" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,2:7:11-7:1:42", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,3:2:15-6:3:40", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,3:2:15-3:3:16", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,3:2:15-3:3:16", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,3:5:18-6:3:40", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:10:36", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:10:36", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:5:31", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:5:31", + "value": [ + { + "string": "d", + "raw_string": "d" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:9:35-5:10:36", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:9:35-5:10:36", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + "edges": null, + "objects": [ + { + "id": "a", + "id_val": "a", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "a" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "d", + "id_val": "d", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "value": [ + { + "string": "d", + "raw_string": "d" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "d" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "steps": [ + { + "name": "x", + "isFolderOnly": false, + "ast": { + "range": ",1:0:0-2:0:0", + "nodes": [ + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "d" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "key": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": ",0:0:0-0:0:0", + "edges": [ + { + "range": ",0:0:0-0:0:0", + "src": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "d" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": ",0:0:0-0:0:0", + "path": [ + { + "unquoted_string": { + "range": ",0:0:0-0:0:0", + "value": [ + { + "string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + }, + "baseAST": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,3:5:18-6:3:40", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:10:36", + "edges": [ + { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:10:36", + "src": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:5:31", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:5:31", + "value": [ + { + "string": "d", + "raw_string": "d" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:9:35-5:10:36", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:9:35-5:10:36", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + ] + }, + "root": { + "id": "", + "id_val": "", + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + "edges": [ + { + "index": 0, + "isCurve": false, + "src_arrow": false, + "dst_arrow": true, + "references": [ + { + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ], + "objects": [ + { + "id": "a", + "id_val": "a", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + } + ], + "attributes": { + "label": { + "value": "a" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "d", + "id_val": "d", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,1:0:2-1:1:3", + "value": [ + { + "string": "d", + "raw_string": "d" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:5:31", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:4:30-5:5:31", + "value": [ + { + "string": "d", + "raw_string": "d" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "d" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + }, + { + "id": "b", + "id_val": "b", + "references": [ + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,4:4:24-4:5:25", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": -1 + }, + { + "key": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:9:35-5:10:36", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestCreate/steps-edge.d2,5:9:35-5:10:36", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "key_path_index": 0, + "map_key_edge_index": 0 + } + ], + "attributes": { + "label": { + "value": "b" + }, + "labelDimensions": { + "width": 0, + "height": 0 + }, + "style": {}, + "near_key": null, + "shape": { + "value": "rectangle" + }, + "direction": { + "value": "" + }, + "constraint": null + }, + "zIndex": 0 + } + ] + } + ] + }, + "err": "" +}