From 27cfa2e23648b015a94fab6e0938ec42a5a040e5 Mon Sep 17 00:00:00 2001 From: AndreaWalchshoferSCCH <122894794+AndreaWalchshoferSCCH@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:02:59 +0200 Subject: Add diagnostic to enforce lowercase local element names (#6) - diagnostic `uppercase-local` in group `conventions`, disabled by default - isolated unit tests for diagnostic --- test/diagnostics/init.lua | 1 + test/diagnostics/uppercase-local.lua | 66 ++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 test/diagnostics/uppercase-local.lua (limited to 'test/diagnostics') diff --git a/test/diagnostics/init.lua b/test/diagnostics/init.lua index c12bfca6..5e8abf7d 100644 --- a/test/diagnostics/init.lua +++ b/test/diagnostics/init.lua @@ -87,3 +87,4 @@ end require 'diagnostics.common' require 'diagnostics.type-check' require 'diagnostics.global-element' +require 'diagnostics.uppercase-local' diff --git a/test/diagnostics/uppercase-local.lua b/test/diagnostics/uppercase-local.lua new file mode 100644 index 00000000..fc0b95d1 --- /dev/null +++ b/test/diagnostics/uppercase-local.lua @@ -0,0 +1,66 @@ +local config = require 'config' +local util = require 'utility' + +-- disable all default groups to make isolated tests +config.set(nil, 'Lua.diagnostics.groupFileStatus', +{ + ['ambiguity'] = 'None', + ['await'] = 'None', + ['codestyle'] = 'None', + ['conventions'] = 'None', + ['duplicate'] = 'None', + ['global'] = 'None', + ['luadoc'] = 'None', + ['redefined'] = 'None', + ['strict'] = 'None', + ['strong'] = 'None', + ['type-check'] = 'None', + ['unbalanced'] = 'None', + ['unused'] = 'None' +}) + +-- enable single diagnostic that is to be tested +config.set(nil, 'Lua.diagnostics.neededFileStatus', +{ + ['uppercase-local'] = 'Any!' -- override groupFileStatus +}) + +-- check that global elements are not warned about +TEST [[ +Var1 = "global" +VAR2 = "global" + +local x = true +local = false +local = false +]] + +TEST [[ +local function test1() + print() +end + +local function () + print() +end +]] + +TEST [[ +local function closure1() + local elem1 = 1 + local = 2 +end + +local function () + local elem1 = 1 + local = 2 +end +]] + +-- reset configurations +config.set(nil, 'Lua.diagnostics.groupFileStatus', +{}) +config.set(nil, 'Lua.diagnostics.neededFileStatus', +{}) +config.set(nil, 'Lua.diagnostics.globals', +{}) -- cgit v1.2.3