Fix xavp set id with no index

squeeze-backports
Victor Seva 13 years ago
parent 7208736c32
commit 85985ea8fc

@ -23,6 +23,13 @@ pvMock = {
end
function t._addvalue(id, value)
if string.starts(id, "$xavp(") then
local l = explode("=>", id)
-- $xavp(key=>key2) -> $xavp(key[0]=>key2)
if not string.ends(l[1],"]") then
id = l[1] .. "[0]=>" .. l[2]
end
end
if not t.vars[id] then
t.vars[id] = value
elseif type(t.vars[id]) == 'table' then

@ -61,10 +61,17 @@ TestSRMock = {}
assertEquals(self.sr.pv.vars["$avp(s:hithere)"], nil)
self.sr.pv.unset("$avp(s:hithere)")
assertEquals(self.sr.pv.vars["$avp(s:hithere)"], nil)
self.sr.pv.sets("$xavp(g[0]=>t)", "value")
self.sr.pv.sets("$xavp(g=>t)", "value")
assertEquals(self.sr.pv.vars["$xavp(g[0]=>t)"], value)
assertEquals(self.sr.pv.vars["$xavp(g=>t)"], nil)
self.sr.pv.sets("$xavp(g[0]=>v)", "value")
self.sr.pv.unset("$xavp(g[1])")
assertEquals(self.sr.pv.vars["$xavp(g[1])"], nil)
assertEquals(self.sr.pv.vars["$xavp(g[0]=>t)"], "value")
assertEquals(self.sr.pv.vars["$xavp(g[0]=>v)"], "value")
self.sr.pv.sets("$xavp(g[1]=>v)", "value")
self.sr.pv.unset("$xavp(g[1])")
assertEquals(self.sr.pv.vars["$xavp(g[1]=>v)"], nil)

Loading…
Cancel
Save