From 78e6c3ad1ffd10e8455514da2925276daccfbd3e Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Sat, 30 Mar 2013 14:38:30 +0100 Subject: [PATCH] Fix avp --- ngcp/avp.lua | 6 ++++-- tests/ngcp_avp.lua | 27 ++++++++++----------------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/ngcp/avp.lua b/ngcp/avp.lua index f03b855..6bfaca9 100644 --- a/ngcp/avp.lua +++ b/ngcp/avp.lua @@ -23,8 +23,10 @@ NGCPAvp_MT = { error("value is not a number or string") end end - setmetatable( t, NGCPAvp_MT ) - return t + function t.all() + return sr.pv.get("$(avp(" .. id .. ")[*])") + end + return setmetatable( t, NGCPAvp_MT ) end function NGCPAvp:clean() diff --git a/tests/ngcp_avp.lua b/tests/ngcp_avp.lua index 4867f32..7efca84 100644 --- a/tests/ngcp_avp.lua +++ b/tests/ngcp_avp.lua @@ -22,37 +22,30 @@ TestNGCPAvp = {} --class sr.pv.sets("$avp(s:testid)", "value") assertEquals(self.avp(), "value") sr.pv.sets("$avp(s:testid)", "1") - assertItemsEquals(self.avp(),{"1","value"}) + assertItemsEquals(self.avp(), "1") + assertItemsEquals(self.avp:all(),{"1","value"}) end function TestNGCPAvp:test_avp_set() local vals = {1,2,3} + local okvals = {3,2,1} + local i for i=1,#vals do self.avp(vals[i]) + assertEquals(self.avp(),vals[i]) end - local l = self.avp() - assertTrue(type(l), 'table') - --print(table.tostring(l)) - v = 1 - for i=#vals,1,-1 do - assertEquals(l[i],vals[v]) - v = v + 1 - end + assertEquals(self.avp:all(), okvals) end function TestNGCPAvp:test_avp_set2() local vals = {1,2,"3"} + local okvals = {"3",2,1} + local i for i=1,#vals do self.avp(vals[i]) + assertEquals(self.avp(),vals[i]) end - local l = self.avp() - assertTrue(type(l), 'table') - --print(table.tostring(l)) - v = 1 - for i=#vals,1,-1 do - assertEquals(l[i],vals[v]) - v = v + 1 - end + assertEquals(self.avp:all(), okvals) end function TestNGCPAvp:test_clean()