diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index aefc50eb5..19f494591 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -7618,6 +7618,45 @@ a exp: `*.b a a.b: null +`, + }, + { + name: "delete-imported-layer-obj", + + text: `layers: { + x: { + ...@meow + } +} +`, + fsTexts: map[string]string{ + "meow.d2": `a +`, + }, + boardPath: []string{"x"}, + key: `a`, + exp: `layers: { + x: { + ...@meow + a: null + } +} +`, + }, + { + name: "delete-layer-obj", + + text: `layers: { + x: { + a + } +} +`, + boardPath: []string{"x"}, + key: `a`, + exp: `layers: { + x +} `, }, { diff --git a/testdata/d2oracle/TestDelete/delete-imported-layer-obj.exp.json b/testdata/d2oracle/TestDelete/delete-imported-layer-obj.exp.json new file mode 100644 index 000000000..30afa7877 --- /dev/null +++ b/testdata/d2oracle/TestDelete/delete-imported-layer-obj.exp.json @@ -0,0 +1,177 @@ +{ + "graph": { + "name": "", + "isFolderOnly": true, + "ast": { + "range": "index.d2,0:0:0-6:0:48", + "nodes": [ + { + "map_key": { + "range": "index.d2,0:0:0-5:1:47", + "key": { + "range": "index.d2,0:0:0-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "index.d2,0:0:0-0:6:6", + "value": [ + { + "string": "layers", + "raw_string": "layers" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "index.d2,0:8:8-5:1:47", + "nodes": [ + { + "map_key": { + "range": "index.d2,1:2:12-4:3:45", + "key": { + "range": "index.d2,1:2:12-1:3:13", + "path": [ + { + "unquoted_string": { + "range": "index.d2,1:2:12-1:3:13", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "index.d2,1:5:15-4:3:45", + "nodes": [ + { + "import": { + "range": "index.d2,2:4:21-2:12:29", + "spread": true, + "pre": "", + "path": [ + { + "unquoted_string": { + "range": "index.d2,2:8:25-2:12:29", + "value": [ + { + "string": "meow", + "raw_string": "meow" + } + ] + } + } + ] + } + }, + { + "map_key": { + "range": "index.d2,3:4:34-3:11:41", + "key": { + "range": "index.d2,3:4:34-3:5:35", + "path": [ + { + "unquoted_string": { + "range": "index.d2,3:4:34-3:5:35", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "null": { + "range": "index.d2,3:7:37-3:11:41" + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + }, + "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": null, + "layers": [ + { + "name": "x", + "isFolderOnly": true, + "ast": { + "range": ",1:0:0-2:0:0", + "nodes": null + }, + "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": null + } + ] + }, + "err": "" +} diff --git a/testdata/d2oracle/TestDelete/delete-layer-obj.exp.json b/testdata/d2oracle/TestDelete/delete-layer-obj.exp.json new file mode 100644 index 000000000..5db3c1df3 --- /dev/null +++ b/testdata/d2oracle/TestDelete/delete-layer-obj.exp.json @@ -0,0 +1,89 @@ +{ + "graph": { + "name": "", + "isFolderOnly": true, + "ast": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,0:0:0-3:0:16", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,0:0:0-2:1:15", + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,0:0:0-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,0:0:0-0:6:6", + "value": [ + { + "string": "layers", + "raw_string": "layers" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,0:8:8-2:1:15", + "nodes": [ + { + "map_key": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,1:2:12-1:3:13", + "key": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,1:2:12-1:3:13", + "path": [ + { + "unquoted_string": { + "range": "d2/testdata/d2oracle/TestDelete/delete-layer-obj.d2,1:2:12-1:3:13", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "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": null + }, + "err": "" +}