import tests

This commit is contained in:
Alexander Wang 2023-07-11 17:37:39 -07:00
parent af69e6f626
commit 5d4d9c5c17
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
3 changed files with 824 additions and 0 deletions

View file

@ -149,6 +149,28 @@ label: meow`,
assertQuery(t, m, 0, 0, "var replaced", "q")
},
},
{
name: "vars/2",
run: func(t testing.TB) {
m, err := compileFS(t, "index.d2", map[string]string{
"index.d2": "vars: { x: 1 }; ...@a",
"a.d2": "vars: { x: 2 }; hi: ${x}",
})
assert.Success(t, err)
assertQuery(t, m, 0, 0, 2, "hi")
},
},
{
name: "vars/3",
run: func(t testing.TB) {
m, err := compileFS(t, "index.d2", map[string]string{
"index.d2": "...@a; vars: { x: 1 }; hi: ${x}",
"a.d2": "vars: { x: 2 }",
})
assert.Success(t, err)
assertQuery(t, m, 0, 0, 1, "hi")
},
},
}
runa(t, tca)

401
testdata/d2ir/TestCompile/imports/vars/2.exp.json generated vendored Normal file
View file

@ -0,0 +1,401 @@
{
"fields": [
{
"name": "vars",
"composite": {
"fields": [
{
"name": "x",
"primary": {
"value": {
"range": "a.d2,0:11:11-0:12:12",
"raw": "2",
"value": "2"
}
},
"references": [
{
"string": {
"range": "index.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
},
"key_path": {
"range": "index.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "index.d2,0:8:8-0:13:13",
"key": {
"range": "index.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "index.d2,0:11:11-0:12:12",
"raw": "1",
"value": "1"
}
}
}
}
},
{
"string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
},
"key_path": {
"range": "a.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "a.d2,0:8:8-0:13:13",
"key": {
"range": "a.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "a.d2,0:11:11-0:12:12",
"raw": "2",
"value": "2"
}
}
}
}
}
]
}
],
"edges": null
},
"references": [
{
"string": {
"range": "index.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
},
"key_path": {
"range": "index.d2,0:0:0-0:4:4",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "index.d2,0:0:0-0:14:14",
"key": {
"range": "index.d2,0:0:0-0:4:4",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "index.d2,0:6:6-0:14:14",
"nodes": [
{
"map_key": {
"range": "index.d2,0:8:8-0:13:13",
"key": {
"range": "index.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "index.d2,0:11:11-0:12:12",
"raw": "1",
"value": "1"
}
}
}
}
]
}
}
}
}
},
{
"string": {
"range": "a.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
},
"key_path": {
"range": "a.d2,0:0:0-0:4:4",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "a.d2,0:0:0-0:14:14",
"key": {
"range": "a.d2,0:0:0-0:4:4",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "a.d2,0:6:6-0:14:14",
"nodes": [
{
"map_key": {
"range": "a.d2,0:8:8-0:13:13",
"key": {
"range": "a.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "a.d2,0:11:11-0:12:12",
"raw": "2",
"value": "2"
}
}
}
}
]
}
}
}
}
}
]
},
{
"name": "hi",
"primary": {
"value": {
"range": "a.d2,0:11:11-0:12:12",
"raw": "2",
"value": "2"
}
},
"references": [
{
"string": {
"range": "a.d2,0:16:16-0:18:18",
"value": [
{
"string": "hi",
"raw_string": "hi"
}
]
},
"key_path": {
"range": "a.d2,0:16:16-0:18:18",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:16:16-0:18:18",
"value": [
{
"string": "hi",
"raw_string": "hi"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "a.d2,0:16:16-0:24:24",
"key": {
"range": "a.d2,0:16:16-0:18:18",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:16:16-0:18:18",
"value": [
{
"string": "hi",
"raw_string": "hi"
}
]
}
}
]
},
"primary": {},
"value": {
"unquoted_string": {
"range": "a.d2,0:20:20-0:21:21",
"value": [
{
"substitution": {
"range": "a.d2,0:20:20-0:24:24",
"spread": false,
"path": [
{
"unquoted_string": {
"range": "a.d2,0:22:22-0:23:23",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
}
}
]
}
}
}
}
}
]
}
],
"edges": null
}

401
testdata/d2ir/TestCompile/imports/vars/3.exp.json generated vendored Normal file
View file

@ -0,0 +1,401 @@
{
"fields": [
{
"name": "vars",
"composite": {
"fields": [
{
"name": "x",
"primary": {
"value": {
"range": "index.d2,0:18:18-0:19:19",
"raw": "1",
"value": "1"
}
},
"references": [
{
"string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
},
"key_path": {
"range": "a.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "a.d2,0:8:8-0:13:13",
"key": {
"range": "a.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "a.d2,0:11:11-0:12:12",
"raw": "2",
"value": "2"
}
}
}
}
},
{
"string": {
"range": "index.d2,0:15:15-0:16:16",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
},
"key_path": {
"range": "index.d2,0:15:15-0:16:16",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:15:15-0:16:16",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "index.d2,0:15:15-0:20:20",
"key": {
"range": "index.d2,0:15:15-0:16:16",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:15:15-0:16:16",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "index.d2,0:18:18-0:19:19",
"raw": "1",
"value": "1"
}
}
}
}
}
]
}
],
"edges": null
},
"references": [
{
"string": {
"range": "a.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
},
"key_path": {
"range": "a.d2,0:0:0-0:4:4",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "a.d2,0:0:0-0:14:14",
"key": {
"range": "a.d2,0:0:0-0:4:4",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:0:0-0:4:4",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "a.d2,0:6:6-0:14:14",
"nodes": [
{
"map_key": {
"range": "a.d2,0:8:8-0:13:13",
"key": {
"range": "a.d2,0:8:8-0:9:9",
"path": [
{
"unquoted_string": {
"range": "a.d2,0:8:8-0:9:9",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "a.d2,0:11:11-0:12:12",
"raw": "2",
"value": "2"
}
}
}
}
]
}
}
}
}
},
{
"string": {
"range": "index.d2,0:7:7-0:11:11",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
},
"key_path": {
"range": "index.d2,0:7:7-0:11:11",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:7:7-0:11:11",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "index.d2,0:7:7-0:21:21",
"key": {
"range": "index.d2,0:7:7-0:11:11",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:7:7-0:11:11",
"value": [
{
"string": "vars",
"raw_string": "vars"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "index.d2,0:13:13-0:21:21",
"nodes": [
{
"map_key": {
"range": "index.d2,0:15:15-0:20:20",
"key": {
"range": "index.d2,0:15:15-0:16:16",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:15:15-0:16:16",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "index.d2,0:18:18-0:19:19",
"raw": "1",
"value": "1"
}
}
}
}
]
}
}
}
}
}
]
},
{
"name": "hi",
"primary": {
"value": {
"range": "index.d2,0:18:18-0:19:19",
"raw": "1",
"value": "1"
}
},
"references": [
{
"string": {
"range": "index.d2,0:23:23-0:25:25",
"value": [
{
"string": "hi",
"raw_string": "hi"
}
]
},
"key_path": {
"range": "index.d2,0:23:23-0:25:25",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:23:23-0:25:25",
"value": [
{
"string": "hi",
"raw_string": "hi"
}
]
}
}
]
},
"context": {
"edge": null,
"key": {
"range": "index.d2,0:23:23-0:31:31",
"key": {
"range": "index.d2,0:23:23-0:25:25",
"path": [
{
"unquoted_string": {
"range": "index.d2,0:23:23-0:25:25",
"value": [
{
"string": "hi",
"raw_string": "hi"
}
]
}
}
]
},
"primary": {},
"value": {
"unquoted_string": {
"range": "index.d2,0:27:27-0:28:28",
"value": [
{
"substitution": {
"range": "index.d2,0:27:27-0:31:31",
"spread": false,
"path": [
{
"unquoted_string": {
"range": "index.d2,0:29:29-0:30:30",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
}
}
]
}
}
}
}
}
]
}
],
"edges": null
}