summaryrefslogtreecommitdiff
path: root/Examples/test-suite/lua/extend_variable_runme.lua
blob: 58e9c984a11c496ec3840d951810bebded86a935 (plain)
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
require("import")	-- the import fn
import("extend_variable")	-- import lib into global
ev=extend_variable --alias

-- catching undefined variables
local env = _ENV -- Lua 5.2
if not env then env = getfenv () end -- Lua 5.1
setmetatable(env, {__index=function (t,i) error("undefined global variable `"..i.."'",2) end})

e1 = ev.ExtendMe()
answ = 1.0
assert(e1:set(7.0))
--assert(e1:get(answ)) -- doesn't work. Lua can't pass primitive type by non-const reference
--assert(answ == 7.0)

e1.ExtendVar = 5.0
assert(e1.ExtendVar == 5.0)

assert(ev.Foo.Bar == 42)
assert(ev.Foo.AllBarOne == 4422)

assert(ev.Foo.StaticInt == 1111)
ev.Foo.StaticInt = 3333
assert(ev.Foo.StaticInt == 3333)

assert(ev.Foo.StaticConstInt == 2222)

b1 = ev.Bar()
assert(b1.x == 1)