From 718b17fc3141e7310ead20f35f388ef045ff7c76 Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Sat, 30 Mar 2013 14:31:45 +0100 Subject: [PATCH] Fix get --- mocks/sr.lua | 7 +++---- tests/mocks.lua | 24 ++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/mocks/sr.lua b/mocks/sr.lua index 22578ba..ad4799e 100644 --- a/mocks/sr.lua +++ b/mocks/sr.lua @@ -115,12 +115,11 @@ pvMock = { return t.vars[result.private_id]._et[result.real_indx][result.key] end elseif result.type == 'avp' then - if result.clean then - return t.vars[result.private_id]:list() - end if t.vars[result.private_id] then local l = t.vars[result.private_id]:list() - if #l == 1 then + if result.clean then + return l + else return l[1] end end diff --git a/tests/mocks.lua b/tests/mocks.lua index 5dd08eb..1e5b7b8 100644 --- a/tests/mocks.lua +++ b/tests/mocks.lua @@ -79,6 +79,16 @@ TestSRMock = {} end function TestSRMock:test_is_avp_simple2() + local result + result = self.sr.pv._is_avp("$(avp(id))") + assertTrue(result) + assertEquals(result.type, 'avp') + --print(table.tostring(result)) + assertEquals(result.id, 'id') + assertFalse(result.clean) + end + + function TestSRMock:test_is_avp_simple3() local result result = self.sr.pv._is_avp("$(avp(s:id)[*])") assertTrue(result) @@ -125,8 +135,14 @@ TestSRMock = {} function TestSRMock:test_avp_sets() self.sr.pv.sets("$avp(s:hithere)", "value") - assertEquals(self.sr.pv.get("$avp(s:hithere)"), "value") - assertError(self.sr.pv.sets, "$avp(s:hithere)", 1) + assertEquals(self.sr.pv.get("$avp(hithere)"), "value") + assertError(self.sr.pv.sets, "$avp(hithere)", 1) + self.sr.pv.sets("$(avp(hithere)[*])", "1") + assertEquals(self.sr.pv.get("$avp(s:hithere)"), "1") + self.sr.pv.sets("$(avp(hithere))", "new_value") + assertEquals(self.sr.pv.vars["avp:hithere"]:list(), {"new_value","1"}) + assertEquals(self.sr.pv.get("$avp(hithere)"), "new_value") + assertEquals(self.sr.pv.get("$(avp(hithere))"), "new_value") end function TestSRMock:test_avp_sets_all() @@ -141,6 +157,10 @@ TestSRMock = {} self.sr.pv.seti("$avp(s:hithere)", 0) assertEquals(self.sr.pv.get("$avp(s:hithere)"), 0) assertError(self.sr.pv.seti, "$avp(s:hithere)", "1") + self.sr.pv.seti("$(avp(hithere))", 2) + assertEquals(self.sr.pv.vars["avp:hithere"]:list(), {2,0}) + assertEquals(self.sr.pv.get("$avp(hithere)"), 2) + assertEquals(self.sr.pv.get("$(avp(hithere))"), 2) end function TestSRMock:test_xavp_sets()