diff --git a/mocks/sr.lua b/mocks/sr.lua index 30838aa..c849a28 100644 --- a/mocks/sr.lua +++ b/mocks/sr.lua @@ -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 diff --git a/tests/mocks.lua b/tests/mocks.lua index 5c8a71d..6e853dc 100644 --- a/tests/mocks.lua +++ b/tests/mocks.lua @@ -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