diff --git a/d2oracle/edit.go b/d2oracle/edit.go index 01a4ca968..9404848a8 100644 --- a/d2oracle/edit.go +++ b/d2oracle/edit.go @@ -20,7 +20,6 @@ import ( "oss.terrastruct.com/d2/d2ir" "oss.terrastruct.com/d2/d2parser" "oss.terrastruct.com/d2/d2target" - "oss.terrastruct.com/d2/d2themes/d2themescatalog" ) type OutsideScopeError struct{} @@ -1297,20 +1296,9 @@ func deleteReserved(g *d2graph.Graph, boardPath []string, baseAST *d2ast.Map, mk if err != nil { return nil, err } - if !deleted { - if imported { - mk.Value = d2ast.MakeValueBox(&d2ast.Null{}) - appendMapKey(baseAST, mk) - } else { - switch id { - // Special cases where a value is set by theme, so is not found as a field - case "fill-pattern": - if g.Theme != nil && g.Theme.ID == d2themescatalog.Origami.ID { - mk.Value = d2ast.MakeValueBox(&d2ast.Null{}) - appendMapKey(baseAST, mk) - } - } - } + if !deleted && imported { + mk.Value = d2ast.MakeValueBox(&d2ast.Null{}) + appendMapKey(baseAST, mk) } continue } diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index c41fa266d..3bb567b13 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -18,8 +18,6 @@ import ( "oss.terrastruct.com/d2/d2graph" "oss.terrastruct.com/d2/d2oracle" "oss.terrastruct.com/d2/d2target" - "oss.terrastruct.com/d2/d2themes" - "oss.terrastruct.com/d2/d2themes/d2themescatalog" ) // TODO: make assertions less specific @@ -5697,7 +5695,6 @@ func TestDelete(t *testing.T) { testCases := []struct { name string boardPath []string - theme *d2themes.Theme text string fsTexts map[string]string @@ -7691,7 +7688,6 @@ layers: { } } `, - theme: &d2themescatalog.Origami, boardPath: []string{"x"}, key: `a.style.fill`, exp: `layers: { @@ -7699,44 +7695,6 @@ layers: { a } } -`, - }, - { - name: "delete-theme-set/1", - - text: `layers: { - x: { - a - } -} -`, - theme: &d2themescatalog.Origami, - boardPath: []string{"x"}, - key: `a.style.fill-pattern`, - exp: `layers: { - x: { - a - a.style.fill-pattern: null - } -} -`, - }, - { - name: "delete-theme-set/2", - - text: `layers: { - x: { - a - } -} -`, - boardPath: []string{"x"}, - key: `a.style.fill-pattern`, - exp: `layers: { - x: { - a - } -} `, }, } @@ -7749,7 +7707,6 @@ layers: { et := editTest{ text: tc.text, fsTexts: tc.fsTexts, - theme: tc.theme, testFunc: func(g *d2graph.Graph) (*d2graph.Graph, error) { return d2oracle.Delete(g, tc.boardPath, tc.key) }, @@ -7765,7 +7722,6 @@ layers: { type editTest struct { text string - theme *d2themes.Theme fsTexts map[string]string testFunc func(*d2graph.Graph) (*d2graph.Graph, error) @@ -7793,11 +7749,6 @@ func (tc editTest) run(t *testing.T) { }) assert.Success(t, err) - if tc.theme != nil { - err := g.ApplyTheme(tc.theme.ID) - assert.Success(t, err) - } - g, err = tc.testFunc(g) if tc.expErr != "" { if err == nil { diff --git a/testdata/d2oracle/TestDelete/delete-theme-set.exp.json b/testdata/d2oracle/TestDelete/delete-theme-set.exp.json deleted file mode 100644 index c8472b8cd..000000000 --- a/testdata/d2oracle/TestDelete/delete-theme-set.exp.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "graph": { - "name": "", - "isFolderOnly": true, - "ast": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,0:0:0-6:0:60", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,0:0:0-5:1:59", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,0:0:0-0:6:6", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,0:0:0-0:6:6", - "value": [ - { - "string": "layers", - "raw_string": "layers" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "map": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,0:8:8-5:1:59", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,1:2:12-4:3:57", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,1:2:12-1:3:13", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,1:2:12-1:3:13", - "value": [ - { - "string": "x", - "raw_string": "x" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "map": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,1:5:15-4:3:57", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,2:4:21-2:5:22", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,2:4:21-2:5:22", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,2:4:21-2:5:22", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - } - ] - }, - "primary": {}, - "value": {} - } - }, - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:4:27-3:30:53", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:4:27-3:24:47", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:4:27-3:5:28", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:6:29-3:11:34", - "value": [ - { - "string": "style", - "raw_string": "style" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:12:35-3:24:47", - "value": [ - { - "string": "fill-pattern", - "raw_string": "fill-pattern" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "null": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:26:49-3:30:53" - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - }, - "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": 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": { - "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": [ - { - "id": "a", - "id_val": "a", - "references": [ - { - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,2:4:21-2:5:22", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,2:4:21-2:5:22", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - } - ] - }, - "key_path_index": 0, - "map_key_edge_index": -1 - }, - { - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:4:27-3:24:47", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:4:27-3:5:28", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:6:29-3:11:34", - "value": [ - { - "string": "style", - "raw_string": "style" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set.d2,3:12:35-3:24:47", - "value": [ - { - "string": "fill-pattern", - "raw_string": "fill-pattern" - } - ] - } - } - ] - }, - "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 - } - ] - } - ] - }, - "err": "" -} diff --git a/testdata/d2oracle/TestDelete/delete-theme-set/1.exp.json b/testdata/d2oracle/TestDelete/delete-theme-set/1.exp.json deleted file mode 100644 index 3213a0800..000000000 --- a/testdata/d2oracle/TestDelete/delete-theme-set/1.exp.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "graph": { - "name": "", - "isFolderOnly": true, - "ast": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,0:0:0-6:0:60", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,0:0:0-5:1:59", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,0:0:0-0:6:6", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,0:0:0-0:6:6", - "value": [ - { - "string": "layers", - "raw_string": "layers" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "map": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,0:8:8-5:1:59", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,1:2:12-4:3:57", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,1:2:12-1:3:13", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,1:2:12-1:3:13", - "value": [ - { - "string": "x", - "raw_string": "x" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "map": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,1:5:15-4:3:57", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,2:4:21-2:5:22", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,2:4:21-2:5:22", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,2:4:21-2:5:22", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - } - ] - }, - "primary": {}, - "value": {} - } - }, - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:4:27-3:30:53", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:4:27-3:24:47", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:4:27-3:5:28", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:6:29-3:11:34", - "value": [ - { - "string": "style", - "raw_string": "style" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:12:35-3:24:47", - "value": [ - { - "string": "fill-pattern", - "raw_string": "fill-pattern" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "null": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:26:49-3:30:53" - } - } - } - } - ] - } - } - } - } - ] - } - } - } - } - ] - }, - "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": 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": { - "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": [ - { - "id": "a", - "id_val": "a", - "references": [ - { - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,2:4:21-2:5:22", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,2:4:21-2:5:22", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - } - ] - }, - "key_path_index": 0, - "map_key_edge_index": -1 - }, - { - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:4:27-3:24:47", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:4:27-3:5:28", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:6:29-3:11:34", - "value": [ - { - "string": "style", - "raw_string": "style" - } - ] - } - }, - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/1.d2,3:12:35-3:24:47", - "value": [ - { - "string": "fill-pattern", - "raw_string": "fill-pattern" - } - ] - } - } - ] - }, - "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 - } - ] - } - ] - }, - "err": "" -} diff --git a/testdata/d2oracle/TestDelete/delete-theme-set/2.exp.json b/testdata/d2oracle/TestDelete/delete-theme-set/2.exp.json deleted file mode 100644 index 9792a747c..000000000 --- a/testdata/d2oracle/TestDelete/delete-theme-set/2.exp.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "graph": { - "name": "", - "isFolderOnly": true, - "ast": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,0:0:0-5:0:29", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,0:0:0-4:1:28", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,0:0:0-0:6:6", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,0:0:0-0:6:6", - "value": [ - { - "string": "layers", - "raw_string": "layers" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "map": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,0:8:8-4:1:28", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,1:2:12-3:3:26", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,1:2:12-1:3:13", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,1:2:12-1:3:13", - "value": [ - { - "string": "x", - "raw_string": "x" - } - ] - } - } - ] - }, - "primary": {}, - "value": { - "map": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,1:5:15-3:3:26", - "nodes": [ - { - "map_key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,2:4:21-2:5:22", - "key": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,2:4:21-2:5:22", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,2:4:21-2:5:22", - "value": [ - { - "string": "a", - "raw_string": "a" - } - ] - } - } - ] - }, - "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, - "layers": [ - { - "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": {} - } - } - ] - }, - "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/TestDelete/delete-theme-set/2.d2,2:4:21-2:5:22", - "path": [ - { - "unquoted_string": { - "range": "d2/testdata/d2oracle/TestDelete/delete-theme-set/2.d2,2:4:21-2:5:22", - "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 - } - ] - } - ] - }, - "err": "" -}