From abf574241d4bee8a508f526e5740cc832d82504e Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Thu, 3 Jul 2014 16:25:51 +0200 Subject: [PATCH] MT#7679 fix mock, allow [*] at kindx --- mocks/sr.lua | 9 +++++++-- tests/mocks.lua | 11 +++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/mocks/sr.lua b/mocks/sr.lua index a513ec7..55fa7ec 100644 --- a/mocks/sr.lua +++ b/mocks/sr.lua @@ -137,7 +137,8 @@ pvMock = { '%$xavp%(([%w_^%[]+)=>([%w_^%[]+)%)$', '%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_^%[]+)%)$', '%$xavp%(([%w_^%[]+)=>([%w_^%[]+)%[(%d+)%]%)$', - '%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_^%[]+)%[(%d+)%]%)$' + '%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_^%[]+)%[(%d+)%]%)$', + '%$xavp%(([%w_^%[]+)%[(%d+)%]=>([%w_^%[]+)%[%*%]%)$' } local logger = logging.file('reports/sr_pv_%s.log', '%Y-%m-%d') for _,v in pairs(patterns) do @@ -154,7 +155,8 @@ pvMock = { kindx = tonumber(kindx) end return { id=_id, key=key, - indx=indx, kindx=kindx, type='xavp' } + indx=indx, kindx=kindx, clean=(v==patterns[7]), + type='xavp' } end end end @@ -272,6 +274,9 @@ pvMock = { end if t.vars[result.private_id][result.indx] then if t.vars[result.private_id][result.indx][result.key] then + if result.clean then + return t.vars[result.private_id][result.indx][result.key] + end if t.vars[result.private_id][result.indx][result.key][result.kindx] then return t.vars[result.private_id][result.indx][result.key][result.kindx] end diff --git a/tests/mocks.lua b/tests/mocks.lua index a81b29e..d30465b 100644 --- a/tests/mocks.lua +++ b/tests/mocks.lua @@ -183,6 +183,17 @@ TestSRMock = {} assertFalse(result.clean) end + function TestSRMock:test_is_xavp_complex_indx2() + result = self.sr.pv._is_xavp("$xavp(gogo[9]=>gogo[*])") + assertTrue(result) + assertEquals(result.type, 'xavp') + assertEquals(result.id, 'gogo') + assertEquals(result.key, 'gogo') + assertEquals(result.indx, 9) + assertFalse(result.kindx) + assertTrue(result.clean) + end + function TestSRMock:test_is_xavp_simple_nokey() local result result = self.sr.pv._is_xavp("$xavp(id1[8])")