mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-18 23:15:26 +02:00
50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package indexes
|
|
|
|
import (
|
|
"config-lsp/handlers/aliases/ast"
|
|
"config-lsp/utils"
|
|
"testing"
|
|
)
|
|
|
|
func TestComplexExample(
|
|
t *testing.T,
|
|
) {
|
|
input := utils.Dedent(`
|
|
postmaster: alice, bob
|
|
alice: root
|
|
bob: root
|
|
`)
|
|
parser := ast.NewAliasesParser()
|
|
errors := parser.Parse(input)
|
|
|
|
if len(errors) > 0 {
|
|
t.Fatalf("Unexpected errors: %v", errors)
|
|
}
|
|
|
|
indexes, errors := CreateIndexes(parser)
|
|
|
|
if len(errors) > 0 {
|
|
t.Fatalf("Expected no errors, but got: %v", errors)
|
|
}
|
|
|
|
if !(len(indexes.Keys) == 3) {
|
|
t.Errorf("Expected 3 keys, but got %v", len(indexes.Keys))
|
|
}
|
|
|
|
if !(len(indexes.UserOccurrences) == 3) {
|
|
t.Errorf("Expected 3 user occurrences, but got %v", len(indexes.UserOccurrences))
|
|
}
|
|
|
|
if !(len(indexes.UserOccurrences["root"]) == 2) {
|
|
t.Errorf("Expected 2 occurrences of root, but got %v", len(indexes.UserOccurrences["root"]))
|
|
}
|
|
|
|
if !(len(indexes.UserOccurrences["alice"]) == 1) {
|
|
t.Errorf("Expected 1 occurrence of alice, but got %v", len(indexes.UserOccurrences["alice"]))
|
|
}
|
|
|
|
if !(len(indexes.UserOccurrences["bob"]) == 1) {
|
|
t.Errorf("Expected 1 occurrence of bob, but got %v", len(indexes.UserOccurrences["bob"]))
|
|
}
|
|
}
|