mirror of https://github.com/swig/swig.git
24 lines
733 B
Lua
24 lines
733 B
Lua
local v=require("operator_overload_break")
|
|
|
|
local op = v.Op(5)
|
|
assert(op ~= nil)
|
|
assert(swig_type(op) == "Op *")
|
|
|
|
assert(op - 3 == v.Op(2), "subtraction")
|
|
op.k = 37
|
|
assert(op + 3 == v.Op(40), "addition")
|
|
op.k = 22
|
|
assert(v.Op(32) - op == v.Op(10), "reversed subtraction")
|
|
assert(not (op == v.Op(3)), 'not equal')
|
|
assert(op ~= v.Op(3), 'direct not equal')
|
|
op.k = 3
|
|
--[[ Lua TODO %rename(PlusPlusPrefix) does not work
|
|
op:PlusPlusPrefix() -- = (++op)
|
|
assert(op == v.Op(4), "pre-increment operator")
|
|
op:PlusPlusPostfix() -- = (op++)
|
|
assert(op == v.Op(5), "post-increment operator")
|
|
local op2 = op:PlusPlusPrefix() -- = (++op)
|
|
op2 = op:PlusPlusPostfix() -- = (op++)
|
|
assert(op == v.Op(7) and op2 == v.Op(7), "multiple post-increments")
|
|
]]
|