Merge pull request #2195 from alixander/style-board-bug
fix double globs in multiple scenarios
This commit is contained in:
commit
51a2b7b85b
8 changed files with 1568 additions and 537 deletions
|
|
@ -14,3 +14,4 @@
|
||||||
|
|
||||||
- Render: fixes edge case of a 3d shape with outside label being cut off [#2132](https://github.com/terrastruct/d2/pull/2132)
|
- Render: fixes edge case of a 3d shape with outside label being cut off [#2132](https://github.com/terrastruct/d2/pull/2132)
|
||||||
- Composition: labels for boards set with shorthand `x: y` was not applied [#2182](https://github.com/terrastruct/d2/pull/2182)
|
- Composition: labels for boards set with shorthand `x: y` was not applied [#2182](https://github.com/terrastruct/d2/pull/2182)
|
||||||
|
- Globs: double globs (`**`) were erroring when used with multiple scenario boards [#2195](https://github.com/terrastruct/d2/pull/2195)
|
||||||
|
|
|
||||||
|
|
@ -1006,6 +1006,21 @@ func (mk *Key) HasTripleGlob() bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (mk *Key) HasMultiGlob() bool {
|
||||||
|
if mk.Key.HasMultiGlob() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
for _, e := range mk.Edges {
|
||||||
|
if e.Src.HasMultiGlob() || e.Dst.HasMultiGlob() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if mk.EdgeKey.HasMultiGlob() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (mk *Key) SupportsGlobFilters() bool {
|
func (mk *Key) SupportsGlobFilters() bool {
|
||||||
if mk.Key.HasGlob() && len(mk.Edges) == 0 {
|
if mk.Key.HasGlob() && len(mk.Edges) == 0 {
|
||||||
return true
|
return true
|
||||||
|
|
|
||||||
|
|
@ -3576,6 +3576,40 @@ steps: {
|
||||||
`, `d2/testdata/d2compiler/TestCompile2/boards/errs/duplicate_board.d2:9:2: board name one already used by another board`)
|
`, `d2/testdata/d2compiler/TestCompile2/boards/errs/duplicate_board.d2:9:2: board name one already used by another board`)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "style-nested-boards",
|
||||||
|
run: func(t *testing.T) {
|
||||||
|
g, _ := assertCompile(t, `**.style.stroke: black
|
||||||
|
|
||||||
|
scenarios: {
|
||||||
|
a: {
|
||||||
|
x
|
||||||
|
}
|
||||||
|
b: {
|
||||||
|
x
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps: {
|
||||||
|
c: {
|
||||||
|
x
|
||||||
|
}
|
||||||
|
d: {
|
||||||
|
x
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layers: {
|
||||||
|
e: {
|
||||||
|
x
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, ``)
|
||||||
|
assert.Equal(t, "black", g.Scenarios[0].Objects[0].Style.Stroke.Value)
|
||||||
|
assert.Equal(t, "black", g.Scenarios[1].Objects[0].Style.Stroke.Value)
|
||||||
|
assert.Equal(t, "black", g.Steps[0].Objects[0].Style.Stroke.Value)
|
||||||
|
assert.Equal(t, "black", g.Steps[1].Objects[0].Style.Stroke.Value)
|
||||||
|
assert.Equal(t, (*d2graph.Scalar)(nil), g.Layers[0].Objects[0].Style.Stroke)
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range tca {
|
for _, tc := range tca {
|
||||||
|
|
|
||||||
|
|
@ -456,7 +456,7 @@ func (c *compiler) ampersandFilterMap(dst *Map, ast, scopeAST *d2ast.Map) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
var ks string
|
var ks string
|
||||||
if gctx.refctx.Key.HasTripleGlob() {
|
if gctx.refctx.Key.HasMultiGlob() {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(IDA(dst)))
|
ks = d2format.Format(d2ast.MakeKeyPath(IDA(dst)))
|
||||||
} else {
|
} else {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(dst)))
|
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(dst)))
|
||||||
|
|
@ -488,7 +488,7 @@ func (c *compiler) compileMap(dst *Map, ast, scopeAST *d2ast.Map) {
|
||||||
// We don't want globs applied in a given scenario to affect future boards
|
// We don't want globs applied in a given scenario to affect future boards
|
||||||
// Copying the applied fields and edges keeps the applications scoped to this board
|
// Copying the applied fields and edges keeps the applications scoped to this board
|
||||||
// Note that this is different from steps, where applications carry over
|
// Note that this is different from steps, where applications carry over
|
||||||
if !g.refctx.Key.HasTripleGlob() {
|
if !g.refctx.Key.HasMultiGlob() {
|
||||||
// Triple globs already apply independently to each board
|
// Triple globs already apply independently to each board
|
||||||
g2.copyApplied(g)
|
g2.copyApplied(g)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -784,7 +784,7 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, create b
|
||||||
filter := func(f *Field, passthrough bool) bool {
|
filter := func(f *Field, passthrough bool) bool {
|
||||||
if gctx != nil {
|
if gctx != nil {
|
||||||
var ks string
|
var ks string
|
||||||
if refctx.Key.HasTripleGlob() {
|
if refctx.Key.HasMultiGlob() {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(IDA(f)))
|
ks = d2format.Format(d2ast.MakeKeyPath(IDA(f)))
|
||||||
} else {
|
} else {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(f)))
|
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(f)))
|
||||||
|
|
@ -937,7 +937,7 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, create b
|
||||||
}
|
}
|
||||||
for _, grefctx := range c.globRefContextStack {
|
for _, grefctx := range c.globRefContextStack {
|
||||||
var ks string
|
var ks string
|
||||||
if grefctx.Key.HasTripleGlob() {
|
if grefctx.Key.HasMultiGlob() {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(IDA(f)))
|
ks = d2format.Format(d2ast.MakeKeyPath(IDA(f)))
|
||||||
} else {
|
} else {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(f)))
|
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(f)))
|
||||||
|
|
@ -1134,7 +1134,7 @@ func (m *Map) getEdges(eid *EdgeID, refctx *RefContext, gctx *globContext, ea *[
|
||||||
for _, e := range ea2 {
|
for _, e := range ea2 {
|
||||||
if gctx != nil {
|
if gctx != nil {
|
||||||
var ks string
|
var ks string
|
||||||
if refctx.Key.HasTripleGlob() {
|
if refctx.Key.HasMultiGlob() {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(IDA(e)))
|
ks = d2format.Format(d2ast.MakeKeyPath(IDA(e)))
|
||||||
} else {
|
} else {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(e)))
|
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(e)))
|
||||||
|
|
@ -1352,7 +1352,7 @@ func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, gctx *globContext, c
|
||||||
e2 := e.Copy(e.Parent()).(*Edge)
|
e2 := e.Copy(e.Parent()).(*Edge)
|
||||||
e2.ID = e2.ID.Copy()
|
e2.ID = e2.ID.Copy()
|
||||||
e2.ID.Index = nil
|
e2.ID.Index = nil
|
||||||
if refctx.Key.HasTripleGlob() {
|
if refctx.Key.HasMultiGlob() {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(IDA(e2)))
|
ks = d2format.Format(d2ast.MakeKeyPath(IDA(e2)))
|
||||||
} else {
|
} else {
|
||||||
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(e2)))
|
ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(e2)))
|
||||||
|
|
|
||||||
1260
testdata/d2compiler/TestCompile2/boards/style-nested-boards.exp.json
generated
vendored
Normal file
1260
testdata/d2compiler/TestCompile2/boards/style-nested-boards.exp.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
468
testdata/d2ir/TestCompile/patterns/alixander-review/5.exp.json
generated
vendored
468
testdata/d2ir/TestCompile/patterns/alixander-review/5.exp.json
generated
vendored
|
|
@ -186,240 +186,6 @@
|
||||||
},
|
},
|
||||||
"due_to_glob": true,
|
"due_to_glob": true,
|
||||||
"due_to_lazy_glob": true
|
"due_to_lazy_glob": true
|
||||||
},
|
|
||||||
{
|
|
||||||
"string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"key_path": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"edge": null,
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:18:19",
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"primary": {},
|
|
||||||
"value": {
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:15:16-1:18:19",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "red",
|
|
||||||
"raw_string": "red"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"due_to_glob": true,
|
|
||||||
"due_to_lazy_glob": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"key_path": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"edge": null,
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:18:19",
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"primary": {},
|
|
||||||
"value": {
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:15:16-1:18:19",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "red",
|
|
||||||
"raw_string": "red"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"due_to_glob": true,
|
|
||||||
"due_to_lazy_glob": true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -1587,240 +1353,6 @@
|
||||||
},
|
},
|
||||||
"due_to_glob": true,
|
"due_to_glob": true,
|
||||||
"due_to_lazy_glob": true
|
"due_to_lazy_glob": true
|
||||||
},
|
|
||||||
{
|
|
||||||
"string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"key_path": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"edge": null,
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:18:19",
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"primary": {},
|
|
||||||
"value": {
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:15:16-1:18:19",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "red",
|
|
||||||
"raw_string": "red"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"due_to_glob": true,
|
|
||||||
"due_to_lazy_glob": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"key_path": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"edge": null,
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:18:19",
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:13:14",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:0:1-1:2:3",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "**",
|
|
||||||
"raw_string": "**"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"pattern": [
|
|
||||||
"*",
|
|
||||||
"",
|
|
||||||
"*"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:3:4-1:8:9",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "style",
|
|
||||||
"raw_string": "style"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:9:10-1:13:14",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "fill",
|
|
||||||
"raw_string": "fill"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"primary": {},
|
|
||||||
"value": {
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/alixander-review/5.d2,1:15:16-1:18:19",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "red",
|
|
||||||
"raw_string": "red"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"due_to_glob": true,
|
|
||||||
"due_to_lazy_glob": true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
315
testdata/d2ir/TestCompile/patterns/double-glob/defaults.exp.json
generated
vendored
315
testdata/d2ir/TestCompile/patterns/double-glob/defaults.exp.json
generated
vendored
|
|
@ -594,6 +594,69 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"references": [
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:12:18",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:8:14-1:12:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "page",
|
||||||
|
"raw_string": "page"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"due_to_glob": true,
|
||||||
|
"due_to_lazy_glob": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
|
@ -736,6 +799,69 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"references": [
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:12:18",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:8:14-1:12:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "page",
|
||||||
|
"raw_string": "page"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"due_to_glob": true,
|
||||||
|
"due_to_lazy_glob": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
|
@ -878,6 +1004,69 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"references": [
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:12:18",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:8:14-1:12:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "page",
|
||||||
|
"raw_string": "page"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"due_to_glob": true,
|
||||||
|
"due_to_lazy_glob": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
|
@ -1020,6 +1209,69 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"references": [
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:12:18",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shape",
|
||||||
|
"raw_string": "shape"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:8:14-1:12:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "page",
|
||||||
|
"raw_string": "page"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"due_to_glob": true,
|
||||||
|
"due_to_lazy_glob": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
|
@ -1162,69 +1414,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"references": [
|
"references": [
|
||||||
{
|
|
||||||
"string": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "shape",
|
|
||||||
"raw_string": "shape"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"key_path": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "shape",
|
|
||||||
"raw_string": "shape"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"edge": null,
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:12:18",
|
|
||||||
"key": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
|
||||||
"path": [
|
|
||||||
{
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "shape",
|
|
||||||
"raw_string": "shape"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"primary": {},
|
|
||||||
"value": {
|
|
||||||
"unquoted_string": {
|
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:8:14-1:12:18",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "page",
|
|
||||||
"raw_string": "page"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"due_to_glob": true,
|
|
||||||
"due_to_lazy_glob": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
"range": "TestCompile/patterns/double-glob/defaults.d2,1:1:7-1:6:12",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue