File: lua_no_module_global_runme.lua

package info (click to toggle)
swig 4.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 42,876 kB
  • sloc: cpp: 61,013; ansic: 27,612; java: 14,670; python: 10,632; cs: 8,103; makefile: 6,287; yacc: 6,197; sh: 5,247; ruby: 5,172; perl: 3,541; php: 2,069; ml: 2,066; lisp: 1,894; javascript: 1,300; tcl: 1,091; xml: 115
file content (24 lines) | stat: -rw-r--r-- 877 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- require is only available in Lua 5.1

if string.sub(_VERSION,1,7)=='Lua 5.1' then

        -- Initially the package should not be loaded
        assert(package.loaded["lua_no_module_global"] == nil)

        -- Load the module
        the_module = require "lua_no_module_global"

        -- require should return the module table
        assert(the_module.hi_mom ~= nil)
        assert(the_module.hi_mom() == "hi mom!")

        -- But it should not end up in the global table _G, subject to
        -- the -nomoduleglobal swig option.
        assert(_G["lua_no_module_global"] == nil)

        -- According to the Lua 5.1 reference manual, require should also
        -- store the module table into package.loaded["name"]
        assert(package.loaded["lua_no_module_global"] == the_module)
        assert(package.loaded["lua_no_module_global"].hi_mom() == "hi mom!")

end