From 88e32f3c0dd71dfa6d183749be7dabc8a6e5f199 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Tue, 6 Feb 2018 13:22:36 -0500 Subject: [PATCH] Client: Use last available index for `set' action This matches the behavior of assertions. This needs to be refactored into an even handler. * src/client/Client.js (handleEvent)[set]: Use last available index. --- src/client/Client.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/client/Client.js b/src/client/Client.js index 57ae2cf..924bcff 100644 --- a/src/client/Client.js +++ b/src/client/Client.js @@ -2618,12 +2618,17 @@ module.exports = Class( 'Client' ) { case 'set': var setdata = {}; + var maxi = data.value.length - 1; + setdata[ data.elementName ] = []; + // use last available index (just as assertions do) for ( var i in data.indexes ) { - var index = data.indexes[ i ]; - setdata[ data.elementName ][ index ] = data.value[ index ]; + var desti = data.indexes[ i ]; + var srci = Math.min( desti, maxi ); + + setdata[ data.elementName ][ desti ] = data.value[ srci ]; } this._quote.setData( setdata );