xavp can be access without key.

xavp inside xavps are _not_ inplemented. We don't need right now.
squeeze-backports
Victor Seva 13 years ago
parent c54272cca2
commit 06e87977fe

@ -24,6 +24,7 @@ pvMock = {
function t._is_xavp(id) function t._is_xavp(id)
local _id, indx, key local _id, indx, key
local patterns = { local patterns = {
'%$xavp%(([%w_]+)%)$',
'%$xavp%(([%w_]+)=>([%w_]+)%)$', '%$xavp%(([%w_]+)=>([%w_]+)%)$',
'%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_]+)%)$' '%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_]+)%)$'
} }
@ -109,6 +110,9 @@ pvMock = {
if not t.vars[result.private_id] then if not t.vars[result.private_id] then
return return
end end
if not result.key then
return t.vars[result.private_id]
end
result.real_indx = #t.vars[result.private_id]._et - result.indx result.real_indx = #t.vars[result.private_id]._et - result.indx
if t.vars[result.private_id]._et[result.real_indx] then if t.vars[result.private_id]._et[result.real_indx] then
--print(string.format("t.vars[%s]._et[%d]:%s", result.private_id, result.real_indx, table.tostring(t.vars[result.private_id]._et[result.indx+1]))) --print(string.format("t.vars[%s]._et[%d]:%s", result.private_id, result.real_indx, table.tostring(t.vars[result.private_id]._et[result.indx+1])))
@ -204,6 +208,10 @@ pvMock = {
result.indx = 0 result.indx = 0
end end
if t.vars[result.private_id] then if t.vars[result.private_id] then
if not result.key then
t.vars[result.private_id] = nil
return
end
result.real_indx = #t.vars[result.private_id]._et - result.indx 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] = nil
end end

@ -186,6 +186,11 @@ TestSRMock = {}
assertError(self.sr.pv.seti, "$xavp(t[6]=>hithere)", "1") assertError(self.sr.pv.seti, "$xavp(t[6]=>hithere)", "1")
end end
function TestSRMock:test_xavp_get()
self.sr.pv.sets("$xavp(g=>hithere)", "value")
assertTrue(self.sr.pv.get, "$xavp(g)")
end
function TestSRMock:test_avp_get_simple() function TestSRMock:test_avp_get_simple()
self.sr.pv.sets("$avp(s:hithere)", "value") self.sr.pv.sets("$avp(s:hithere)", "value")
assertEquals(self.sr.pv.get("$avp(s:hithere)"), "value") assertEquals(self.sr.pv.get("$avp(s:hithere)"), "value")

Loading…
Cancel
Save