Fix behaviour on unset. Tested on real kamailio.

squeeze-backports
Victor Seva 13 years ago
parent db2d4a6aad
commit 877a7d0583

@ -25,6 +25,7 @@ pvMock = {
local _id, indx, key
local patterns = {
'%$xavp%(([%w_]+)%)$',
'%$xavp%(([%w_^%[]+)%[(%d+)%]%)$',
'%$xavp%(([%w_]+)=>([%w_]+)%)$',
'%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_]+)%)$'
}
@ -213,7 +214,7 @@ pvMock = {
return
end
result.real_indx = #t.vars[result.private_id]._et - result.indx
t.vars[result.private_id]._et[result.real_indx] = nil
t.vars[result.private_id]._et[result.real_indx] = false
end
elseif result.type == 'avp' then
t.vars[result.private_id] = nil

@ -246,10 +246,15 @@ TestSRMock = {}
end
function TestSRMock:test_unset_xavp()
self.sr.pv.sets("$xavp(g=>t)", "value_t")
assertEquals(self.sr.pv.get("$xavp(g=>t)"), "value_t")
self.sr.pv.unset("$xavp(g=>t)")
assertEquals(self.sr.pv.get("$xavp(g=>t)"), nil)
self.sr.pv.sets("$xavp(g=>t)", "value")
assertEquals(self.sr.pv.get("$xavp(g[0]=>t)"), "value")
self.sr.pv.sets("$xavp(g=>t)", "value1")
assertEquals(self.sr.pv.get("$xavp(g[0]=>t)"), "value1")
self.sr.pv.unset("$xavp(g[0]=>t)")
assertEquals(self.sr.pv.get("$xavp(g[0]=>t)"), nil)
assertEquals(self.sr.pv.get("$xavp(g[1]=>t)"), "value")
self.sr.pv.unset("$xavp(g[1])")
assertFalse(self.sr.pv.get("$xavp(g[1])"))
self.sr.pv.unset("$xavp(g)")
assertEquals(self.sr.pv.get("$xavp(g)"), nil)
end

Loading…
Cancel
Save