add test, switch to mapfs
This commit is contained in:
parent
0b993710ec
commit
fcaba26a28
5 changed files with 388 additions and 107 deletions
|
|
@ -2,9 +2,6 @@ package d2oracle_test
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
|
@ -13,6 +10,7 @@ import (
|
|||
"oss.terrastruct.com/util-go/assert"
|
||||
"oss.terrastruct.com/util-go/diff"
|
||||
"oss.terrastruct.com/util-go/go2"
|
||||
"oss.terrastruct.com/util-go/mapfs"
|
||||
"oss.terrastruct.com/util-go/xjson"
|
||||
|
||||
"oss.terrastruct.com/d2/d2compiler"
|
||||
|
|
@ -1999,7 +1997,7 @@ scenarios: {
|
|||
}
|
||||
`,
|
||||
fsTexts: map[string]string{
|
||||
"meow": `x: {
|
||||
"meow.d2": `x: {
|
||||
style.fill: blue
|
||||
}
|
||||
`,
|
||||
|
|
@ -2022,7 +2020,7 @@ scenarios: {
|
|||
}
|
||||
`,
|
||||
fsTexts: map[string]string{
|
||||
"meow": `x: {
|
||||
"meow.d2": `x: {
|
||||
style.fill: blue
|
||||
}
|
||||
`,
|
||||
|
|
@ -2046,7 +2044,7 @@ scenarios: {
|
|||
}
|
||||
`,
|
||||
fsTexts: map[string]string{
|
||||
"meow": `x: {
|
||||
"meow.d2": `x: {
|
||||
style.fill: blue
|
||||
}
|
||||
`,
|
||||
|
|
@ -2058,6 +2056,21 @@ scenarios: {
|
|||
y
|
||||
style.fill: yellow
|
||||
}
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "import/4",
|
||||
|
||||
text: `...@yo
|
||||
a`,
|
||||
fsTexts: map[string]string{
|
||||
"yo.d2": `b`,
|
||||
},
|
||||
key: `b.style.fill`,
|
||||
value: go2.Pointer(`red`),
|
||||
exp: `...@yo
|
||||
a
|
||||
b.style.fill: red
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
|
@ -7081,17 +7094,23 @@ type editTest struct {
|
|||
}
|
||||
|
||||
func (tc editTest) run(t *testing.T) {
|
||||
var tfs *mapfs.FS
|
||||
d2Path := fmt.Sprintf("d2/testdata/d2oracle/%v.d2", t.Name())
|
||||
tfs := testFS(make(map[string]*testF))
|
||||
for name, text := range tc.fsTexts {
|
||||
tfs[name] = &testF{content: text}
|
||||
if tc.fsTexts != nil {
|
||||
tc.fsTexts["index.d2"] = tc.text
|
||||
d2Path = "index.d2"
|
||||
var err error
|
||||
tfs, err = mapfs.New(tc.fsTexts)
|
||||
assert.Success(t, err)
|
||||
t.Cleanup(func() {
|
||||
assert.Success(t, tfs.Close())
|
||||
})
|
||||
}
|
||||
|
||||
g, _, err := d2compiler.Compile(d2Path, strings.NewReader(tc.text), &d2compiler.CompileOptions{
|
||||
FS: tfs,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
assert.Success(t, err)
|
||||
|
||||
g, err = tc.testFunc(g)
|
||||
if tc.expErr != "" {
|
||||
|
|
@ -8446,38 +8465,3 @@ scenarios: {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
type testF struct {
|
||||
content string
|
||||
readIndex int
|
||||
}
|
||||
|
||||
func (tf *testF) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tf *testF) Read(p []byte) (int, error) {
|
||||
data := []byte(tf.content)
|
||||
if tf.readIndex >= len(data) {
|
||||
tf.readIndex = 0
|
||||
return 0, io.EOF
|
||||
}
|
||||
readBytes := copy(p, data[tf.readIndex:])
|
||||
tf.readIndex += readBytes
|
||||
return readBytes, nil
|
||||
}
|
||||
|
||||
func (tf *testF) Stat() (os.FileInfo, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
type testFS map[string]*testF
|
||||
|
||||
func (tfs testFS) Open(name string) (fs.File, error) {
|
||||
for k := range tfs {
|
||||
if strings.HasSuffix(name[:len(name)-3], k) {
|
||||
return tfs[k], nil
|
||||
}
|
||||
}
|
||||
return nil, fs.ErrNotExist
|
||||
}
|
||||
|
|
|
|||
40
testdata/d2oracle/TestSet/import/1.exp.json
generated
vendored
40
testdata/d2oracle/TestSet/import/1.exp.json
generated
vendored
|
|
@ -3,17 +3,17 @@
|
|||
"name": "",
|
||||
"isFolderOnly": false,
|
||||
"ast": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:0:0-5:0:44",
|
||||
"range": "index.d2,0:0:0-5:0:44",
|
||||
"nodes": [
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:0:0-4:1:43",
|
||||
"range": "index.d2,0:0:0-4:1:43",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -27,17 +27,17 @@
|
|||
"primary": {},
|
||||
"value": {
|
||||
"map": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:3:3-4:1:43",
|
||||
"range": "index.d2,0:3:3-4:1:43",
|
||||
"nodes": [
|
||||
{
|
||||
"import": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,1:2:7-1:12:17",
|
||||
"range": "index.d2,1:2:7-1:12:17",
|
||||
"spread": true,
|
||||
"pre": "",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,1:6:11-1:10:15",
|
||||
"range": "index.d2,1:6:11-1:10:15",
|
||||
"value": [
|
||||
{
|
||||
"string": "meow",
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,1:11:16-1:12:17",
|
||||
"range": "index.d2,1:11:16-1:12:17",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -62,13 +62,13 @@
|
|||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "y",
|
||||
|
|
@ -85,13 +85,13 @@
|
|||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,3:2:24-3:19:41",
|
||||
"range": "index.d2,3:2:24-3:19:41",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,3:2:24-3:14:36",
|
||||
"range": "index.d2,3:2:24-3:14:36",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,3:2:24-3:7:29",
|
||||
"range": "index.d2,3:2:24-3:7:29",
|
||||
"value": [
|
||||
{
|
||||
"string": "style",
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,3:8:30-3:14:36",
|
||||
"range": "index.d2,3:8:30-3:14:36",
|
||||
"value": [
|
||||
{
|
||||
"string": "stroke",
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
"primary": {},
|
||||
"value": {
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,3:16:38-3:19:41",
|
||||
"range": "index.d2,3:16:38-3:19:41",
|
||||
"value": [
|
||||
{
|
||||
"string": "red",
|
||||
|
|
@ -165,11 +165,11 @@
|
|||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -217,11 +217,11 @@
|
|||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/1.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "y",
|
||||
|
|
|
|||
40
testdata/d2oracle/TestSet/import/2.exp.json
generated
vendored
40
testdata/d2oracle/TestSet/import/2.exp.json
generated
vendored
|
|
@ -3,17 +3,17 @@
|
|||
"name": "",
|
||||
"isFolderOnly": false,
|
||||
"ast": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:0:0-5:0:42",
|
||||
"range": "index.d2,0:0:0-5:0:42",
|
||||
"nodes": [
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:0:0-4:1:41",
|
||||
"range": "index.d2,0:0:0-4:1:41",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -27,17 +27,17 @@
|
|||
"primary": {},
|
||||
"value": {
|
||||
"map": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:3:3-4:1:41",
|
||||
"range": "index.d2,0:3:3-4:1:41",
|
||||
"nodes": [
|
||||
{
|
||||
"import": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,1:2:7-1:12:17",
|
||||
"range": "index.d2,1:2:7-1:12:17",
|
||||
"spread": true,
|
||||
"pre": "",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,1:6:11-1:10:15",
|
||||
"range": "index.d2,1:6:11-1:10:15",
|
||||
"value": [
|
||||
{
|
||||
"string": "meow",
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,1:11:16-1:12:17",
|
||||
"range": "index.d2,1:11:16-1:12:17",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -62,13 +62,13 @@
|
|||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "y",
|
||||
|
|
@ -85,13 +85,13 @@
|
|||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,3:2:24-3:17:39",
|
||||
"range": "index.d2,3:2:24-3:17:39",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,3:2:24-3:12:34",
|
||||
"range": "index.d2,3:2:24-3:12:34",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,3:2:24-3:7:29",
|
||||
"range": "index.d2,3:2:24-3:7:29",
|
||||
"value": [
|
||||
{
|
||||
"string": "style",
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,3:8:30-3:12:34",
|
||||
"range": "index.d2,3:8:30-3:12:34",
|
||||
"value": [
|
||||
{
|
||||
"string": "fill",
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
"primary": {},
|
||||
"value": {
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,3:14:36-3:17:39",
|
||||
"range": "index.d2,3:14:36-3:17:39",
|
||||
"value": [
|
||||
{
|
||||
"string": "red",
|
||||
|
|
@ -165,11 +165,11 @@
|
|||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -214,11 +214,11 @@
|
|||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/2.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "y",
|
||||
|
|
|
|||
40
testdata/d2oracle/TestSet/import/3.exp.json
generated
vendored
40
testdata/d2oracle/TestSet/import/3.exp.json
generated
vendored
|
|
@ -3,17 +3,17 @@
|
|||
"name": "",
|
||||
"isFolderOnly": false,
|
||||
"ast": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:0:0-5:0:45",
|
||||
"range": "index.d2,0:0:0-5:0:45",
|
||||
"nodes": [
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:0:0-4:1:44",
|
||||
"range": "index.d2,0:0:0-4:1:44",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -27,17 +27,17 @@
|
|||
"primary": {},
|
||||
"value": {
|
||||
"map": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:3:3-4:1:44",
|
||||
"range": "index.d2,0:3:3-4:1:44",
|
||||
"nodes": [
|
||||
{
|
||||
"import": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,1:2:7-1:12:17",
|
||||
"range": "index.d2,1:2:7-1:12:17",
|
||||
"spread": true,
|
||||
"pre": "",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,1:6:11-1:10:15",
|
||||
"range": "index.d2,1:6:11-1:10:15",
|
||||
"value": [
|
||||
{
|
||||
"string": "meow",
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,1:11:16-1:12:17",
|
||||
"range": "index.d2,1:11:16-1:12:17",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -62,13 +62,13 @@
|
|||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "y",
|
||||
|
|
@ -85,13 +85,13 @@
|
|||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,3:2:24-3:20:42",
|
||||
"range": "index.d2,3:2:24-3:20:42",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,3:2:24-3:12:34",
|
||||
"range": "index.d2,3:2:24-3:12:34",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,3:2:24-3:7:29",
|
||||
"range": "index.d2,3:2:24-3:7:29",
|
||||
"value": [
|
||||
{
|
||||
"string": "style",
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,3:8:30-3:12:34",
|
||||
"range": "index.d2,3:8:30-3:12:34",
|
||||
"value": [
|
||||
{
|
||||
"string": "fill",
|
||||
|
|
@ -116,7 +116,7 @@
|
|||
"primary": {},
|
||||
"value": {
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,3:14:36-3:20:42",
|
||||
"range": "index.d2,3:14:36-3:20:42",
|
||||
"value": [
|
||||
{
|
||||
"string": "yellow",
|
||||
|
|
@ -165,11 +165,11 @@
|
|||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,0:0:0-0:1:1",
|
||||
"range": "index.d2,0:0:0-0:1:1",
|
||||
"value": [
|
||||
{
|
||||
"string": "x",
|
||||
|
|
@ -214,11 +214,11 @@
|
|||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/3.d2,2:2:20-2:3:21",
|
||||
"range": "index.d2,2:2:20-2:3:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "y",
|
||||
|
|
|
|||
297
testdata/d2oracle/TestSet/import/4.exp.json
generated
vendored
Normal file
297
testdata/d2oracle/TestSet/import/4.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,297 @@
|
|||
{
|
||||
"graph": {
|
||||
"name": "",
|
||||
"isFolderOnly": false,
|
||||
"ast": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,0:0:0-3:0:27",
|
||||
"nodes": [
|
||||
{
|
||||
"import": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,0:0:0-0:6:6",
|
||||
"spread": true,
|
||||
"pre": "",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,0:4:4-0:6:6",
|
||||
"value": [
|
||||
{
|
||||
"string": "yo",
|
||||
"raw_string": "yo"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,1:0:7-1:1:8",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,1:0:7-1:1:8",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,1:0:7-1:1:8",
|
||||
"value": [
|
||||
{
|
||||
"string": "a",
|
||||
"raw_string": "a"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:0:9-2:17:26",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:0:9-2:12:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:0:9-2:1:10",
|
||||
"value": [
|
||||
{
|
||||
"string": "b",
|
||||
"raw_string": "b"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:2:11-2:7:16",
|
||||
"value": [
|
||||
{
|
||||
"string": "style",
|
||||
"raw_string": "style"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:8:17-2:12:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "fill",
|
||||
"raw_string": "fill"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:14:23-2:17:26",
|
||||
"value": [
|
||||
{
|
||||
"string": "red",
|
||||
"raw_string": "red"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"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": "bb",
|
||||
"id_val": "bb",
|
||||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/yo.d2,0:0:0-0:2:2",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/yo.d2,0:0:0-0:2:2",
|
||||
"value": [
|
||||
{
|
||||
"string": "bb",
|
||||
"raw_string": "bb"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 0,
|
||||
"map_key_edge_index": -1
|
||||
}
|
||||
],
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": "bb"
|
||||
},
|
||||
"labelDimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"style": {},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": "rectangle"
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
},
|
||||
"constraint": null
|
||||
},
|
||||
"zIndex": 0
|
||||
},
|
||||
{
|
||||
"id": "a",
|
||||
"id_val": "a",
|
||||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,1:0:7-1:1:8",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,1:0:7-1:1:8",
|
||||
"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/TestSet/import/4.d2,2:0:9-2:12:21",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:0:9-2:1:10",
|
||||
"value": [
|
||||
{
|
||||
"string": "b",
|
||||
"raw_string": "b"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:2:11-2:7:16",
|
||||
"value": [
|
||||
{
|
||||
"string": "style",
|
||||
"raw_string": "style"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2oracle/TestSet/import/4.d2,2:8:17-2:12:21",
|
||||
"value": [
|
||||
{
|
||||
"string": "fill",
|
||||
"raw_string": "fill"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 0,
|
||||
"map_key_edge_index": -1
|
||||
}
|
||||
],
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": "b"
|
||||
},
|
||||
"labelDimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"style": {
|
||||
"fill": {
|
||||
"value": "red"
|
||||
}
|
||||
},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": "rectangle"
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
},
|
||||
"constraint": null
|
||||
},
|
||||
"zIndex": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"err": "<nil>"
|
||||
}
|
||||
Loading…
Reference in a new issue