28 lines
944 B
Fennel
28 lines
944 B
Fennel
(import-macros {: is-matching : describe : it : before-each} :test)
|
|
(local is (require :test.is))
|
|
(local message (require :fennel-ls.message))
|
|
|
|
(local {: view} (require :fennel))
|
|
(local {: ROOT-URI
|
|
: create-client} (require :test.mock-client))
|
|
|
|
(local filename (.. ROOT-URI "/imaginary-file.fnl"))
|
|
|
|
(fn check-references [body line col expected]
|
|
(let [client (doto (create-client)
|
|
(: :open-file! filename body))
|
|
response (client:references filename line col)]
|
|
(is-matching response
|
|
(where [{:jsonrpc "2.0" :id client.prev-id
|
|
: result}]
|
|
(is.same result expected)))))
|
|
|
|
(describe "references"
|
|
(it "finds a reference from let"
|
|
(check-references "(let [x 10] x)" 0 12
|
|
[{:uri filename :range (message.pos->range 0 12 0 13)}]))
|
|
|
|
(it "finds a reference from let"
|
|
(check-references "(let [x 10] x)" 0 6
|
|
[{:uri filename :range (message.pos->range 0 12 0 13)}])))
|