File: unused_fields_spec.lua

package info (click to toggle)
luacheck 1.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,704 kB
  • sloc: sh: 106; makefile: 96; python: 35
file content (46 lines) | stat: -rw-r--r-- 1,624 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
local helper = require "spec.helper"

local function assert_warnings(warnings, src)
   assert.same(warnings, helper.get_stage_warnings("detect_unused_fields", src))
end

describe("unused field detection", function()
   it("detects unused fields in table literals", function()
      assert_warnings({
         {code = "314", field = "key", line = 3, column = 5, end_column = 9,
            overwritten_line = 7, overwritten_column = 4, overwritten_end_column = 6},
         {code = "314", field = "2", index = true, line = 6, column = 4, end_column = 4,
            overwritten_line = 9, overwritten_column = 5, overwritten_end_column = 9},
         {code = "314", field = "key", line = 7, column = 4, end_column = 6,
            overwritten_line = 8, overwritten_column = 4, overwritten_end_column = 6},
         {code = "314", field = "0.2e1", line = 9, column = 5, end_column = 9,
            overwritten_line = 10, overwritten_column = 5, overwritten_end_column = 5}
      }, [[
local x, y, z = 1, 2, 3
return {
   ["key"] = 4,
   [z] = 7,
   1,
   y,
   key = x,
   key = 0,
   [0.2e1] = 6,
   [2] = 7
}
]])
   end)

   it("detects unused fields in nested table literals", function()
      assert_warnings({
         {code = "314", field = "a", line = 2, column = 5, end_column = 5,
            overwritten_line = 2, overwritten_column = 12, overwritten_end_column = 12},
         {code = "314", field = "b", line = 3, column = 11, end_column = 11,
            overwritten_line = 3, overwritten_column = 18, overwritten_end_column = 18}
      }, [[
return {
   {a = 1, a = 2},
   key = {b = 1, b = 2}
}
]])
   end)
end)