diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2022-07-11 20:32:03 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2022-07-11 20:32:03 +0800 |
commit | 3820962ca2d23d525bc8417c8088e7eeb667cba1 (patch) | |
tree | 1f2fc76ce1344ee9e48935f94fe5b44182325453 /test | |
parent | 6d040fd8da9f77c92a6359657c2d845c3b62735d (diff) | |
download | lua-language-server-3820962ca2d23d525bc8417c8088e7eeb667cba1.zip |
resolve #1209
treat `_ENV = {}` as `local _ENV = {}`
`local _ENV = nil` will disable all globals
`local _ENV = {}` will enable all globals
`local _ENV = {} ---@type mathlib` will open globals in mathlib
Diffstat (limited to 'test')
-rw-r--r-- | test/diagnostics/common.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/diagnostics/common.lua b/test/diagnostics/common.lua index 0df678d1..fab02caf 100644 --- a/test/diagnostics/common.lua +++ b/test/diagnostics/common.lua @@ -133,6 +133,40 @@ _ENV = nil ]] TEST [[ +---@diagnostic disable: undefined-global +_ENV = nil +<!print!>(<!A!>) -- `print` and `A` should warning +]] + +TEST [[ +---@diagnostic disable: undefined-global +local _ENV = nil +<!print!>(<!A!>) -- `print` and `A` should warning +]] + +TEST [[ +_ENV = {} +print(A) -- no warning +]] + +TEST [[ +local _ENV = {} +print(A) -- no warning +]] + +TEST [[ +---@type iolib +_ENV = {} +<!print!>(stderr) -- `print` is warning but `stderr` is not +]] + +TEST [[ +---@type iolib +local _ENV = {} +<!print!>(stderr) -- `print` is warning but `stderr` is not +]] + +TEST [[ local _ENV = { print = print } print(1) ]] |