d2lsp: fix nested board finding

This commit is contained in:
Alexander Wang 2024-10-29 19:08:22 -06:00
parent c775a9b75f
commit 9e60c10b84
No known key found for this signature in database
GPG key ID: BE3937D0D52D8927
2 changed files with 13 additions and 3 deletions

View file

@ -1838,7 +1838,7 @@ func (m *Map) FindBoardRoot(path []string) *Map {
if len(path) == 1 { if len(path) == 1 {
return f.Map() return f.Map()
} }
return layersf.Map().FindBoardRoot(path[1:]) return f.Map().FindBoardRoot(path[1:])
} }
} }
} }
@ -1849,7 +1849,7 @@ func (m *Map) FindBoardRoot(path []string) *Map {
if len(path) == 1 { if len(path) == 1 {
return f.Map() return f.Map()
} }
return scenariosf.Map().FindBoardRoot(path[1:]) return f.Map().FindBoardRoot(path[1:])
} }
} }
} }
@ -1860,7 +1860,7 @@ func (m *Map) FindBoardRoot(path []string) *Map {
if len(path) == 1 { if len(path) == 1 {
return f.Map() return f.Map()
} }
return stepsf.Map().FindBoardRoot(path[1:]) return f.Map().FindBoardRoot(path[1:])
} }
} }
} }

View file

@ -117,6 +117,12 @@ hi
layers: { layers: {
x: { x: {
hello hello
layers: {
y: {
qwer
}
}
} }
} }
`, `,
@ -130,6 +136,10 @@ layers: {
assert.Success(t, err) assert.Success(t, err)
assert.Equal(t, 0, len(ranges)) assert.Equal(t, 0, len(ranges))
ranges, _, err = d2lsp.GetRefRanges("index.d2", fs, []string{"x", "y"}, "qwer")
assert.Success(t, err)
assert.Equal(t, 1, len(ranges))
_, _, err = d2lsp.GetRefRanges("index.d2", fs, []string{"y"}, "hello") _, _, err = d2lsp.GetRefRanges("index.d2", fs, []string{"y"}, "hello")
assert.Equal(t, `board "[y]" not found`, err.Error()) assert.Equal(t, `board "[y]" not found`, err.Error())
} }