4 require 'metalua.compiler'
8 { "everything should be renamed",
14 { "don't get confused between global and local x",
21 { "don't rename keepme",
25 { keep = 'keepme' , alpha = `Local{ { }, { } } } },
27 { "print shouldn't be renamed the 2nd and 3rd time",
30 -{!`Call{`Id 'print', `String 'hi' } }
34 { "print shouldn't be renamed at all",
37 -{`Call{`Id 'print', `String 'hi' } }
41 { "Rename print with a pre-specified name, rename x freely, not y",
44 { alpha = +{stat: local RENAMED_PRINT = print},
45 keep = {y = true} } } }
47 for case in ivalues(TEST_CASES) do
48 local comment, ast, cfg = unpack(case)
49 print ('\n'..'-':rep(70))
52 print ("\nBEFORE PARSING:")
55 print ("\nAFTER PARSING:")
59 print ('\n'..'=':rep(70))