mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-19 07:25:27 +02:00
84 lines
2.1 KiB
Go
84 lines
2.1 KiB
Go
package handlers
|
|
|
|
import (
|
|
"config-lsp/handlers/aliases/ast"
|
|
"config-lsp/handlers/aliases/indexes"
|
|
"config-lsp/utils"
|
|
"testing"
|
|
)
|
|
|
|
func TestRenameSimpleExample(
|
|
t *testing.T,
|
|
) {
|
|
input := utils.Dedent(`
|
|
alice: alice
|
|
bob: root
|
|
support: alice, bob
|
|
`)
|
|
parser := ast.NewAliasesParser()
|
|
errors := parser.Parse(input)
|
|
|
|
if len(errors) > 0 {
|
|
t.Fatalf("Unexpected errors: %v", errors)
|
|
}
|
|
|
|
i, errors := indexes.CreateIndexes(parser)
|
|
|
|
if len(errors) > 0 {
|
|
t.Fatalf("Expected no errors, but got: %v", errors)
|
|
}
|
|
|
|
edits := RenameAlias(i, "alice", "amelie")
|
|
|
|
if !(len(edits) == 3) {
|
|
t.Errorf("Expected 2 edits, but got %v", len(edits))
|
|
}
|
|
|
|
if !(edits[0].Range.Start.Line == 0 && edits[0].Range.Start.Character == 0 && edits[0].Range.End.Line == 0 && edits[0].Range.End.Character == 5) {
|
|
t.Errorf("Unexpected edit: %v", edits[0])
|
|
}
|
|
|
|
if !(edits[1].Range.Start.Line == 0 && edits[1].Range.Start.Character == 7 && edits[1].Range.End.Line == 0 && edits[1].Range.End.Character == 12) {
|
|
t.Errorf("Unexpected edit: %v", edits[1])
|
|
}
|
|
|
|
if !(edits[2].Range.Start.Line == 2 && edits[2].Range.Start.Character == 9 && edits[2].Range.End.Line == 2 && edits[2].Range.End.Character == 14) {
|
|
t.Errorf("Unexpected edit: %v", edits[2])
|
|
}
|
|
}
|
|
|
|
func TestRenameWithoutDefinitionEntry(
|
|
t *testing.T,
|
|
) {
|
|
input := utils.Dedent(`
|
|
bob: root
|
|
support: root, bob
|
|
`)
|
|
parser := ast.NewAliasesParser()
|
|
errors := parser.Parse(input)
|
|
|
|
if len(errors) > 0 {
|
|
t.Fatalf("Unexpected errors: %v", errors)
|
|
}
|
|
|
|
i, errors := indexes.CreateIndexes(parser)
|
|
|
|
if len(errors) > 0 {
|
|
t.Fatalf("Expected no errors, but got: %v", errors)
|
|
}
|
|
|
|
edits := RenameAlias(i, "root", "amelie")
|
|
|
|
if !(len(edits) == 2) {
|
|
t.Errorf("Expected 2 edits, but got %v", len(edits))
|
|
}
|
|
|
|
if !(edits[0].Range.Start.Line == 0 && edits[0].Range.Start.Character == 5 && edits[0].Range.End.Line == 0 && edits[0].Range.End.Character == 9) {
|
|
t.Errorf("Unexpected edit: %v", edits[0])
|
|
}
|
|
|
|
if !(edits[1].Range.Start.Line == 1 && edits[1].Range.Start.Character == 9 && edits[1].Range.End.Line == 1 && edits[1].Range.End.Character == 13) {
|
|
t.Errorf("Unexpected edit: %v", edits[1])
|
|
}
|
|
}
|