z_mirror/luapls
git clone https://git.raiguard.me/z_mirror/luapls
d67ef89
main
1package ast 2 3// func TestFilePositions(t *testing.T) { 4// input := `i = 12345 5// local function bar(baz) 6// print(baz) 7// end 8// bar(i) 9// ` 10// p := parser.New(input) 11// file := p.ParseFile() 12// assert.ElementsMatch(t, []int{9, 33, 46, 50, 57}, file.LineBreaks) 13 14// assertPositionsMatch(t, &file, protocol.Position{Line: 0, Character: 2}, 2) 15// assertPositionsMatch(t, &file, protocol.Position{Line: 2, Character: 7}, 41) 16 17// assertPositionsMatch(t, &file, protocol.Position{Line: 1, Character: 0}, file.Block.Pairs[1].Pos()) 18// } 19 20// func assertPositionsMatch(t *testing.T, file *File, position protocol.Position, pos token.Pos) { 21// protocolPos := file.ToProtocolPos(pos) 22// assert.Equal(t, protocolPos.Line, position.Line) 23// assert.Equal(t, protocolPos.Character, position.Character) 24 25// astPos := file.ToPos(position) 26// assert.Equal(t, pos, astPos) 27// }