@@ -300,5 +300,24 @@ describe('Parse Values - parseFieldValue', () => {
300300 it ( 'Boolean array field, rejects array where value is missing (two delimiters are adjacent)' ) ;
301301 expect ( parseFieldValue ( ',true,false,TRUE' , fieldBooleanArrayRequired ) . success ) . false ;
302302 } ) ;
303+ describe ( 'Custom delimiter' , ( ) => {
304+ it ( 'Uses a `,` as the delimiter when none is defined' , ( ) => {
305+ const result = parseFieldValue ( ':,_,|,/' , fieldStringArrayRequired ) ;
306+ expect ( result . success ) . true ;
307+ expect ( result . data ) . deep . equal ( [ ':' , '_' , '|' , '/' ] ) ;
308+ } ) ;
309+ it ( 'Splits array on the delimiter when defined' , ( ) => {
310+ const customDelimiterField = { ...fieldStringArrayRequired , delimiter : '|' } ;
311+ const result = parseFieldValue ( ':,_,|,/' , customDelimiterField ) ;
312+ expect ( result . success ) . true ;
313+ expect ( result . data ) . deep . equal ( [ ':,_,' , ',/' ] ) ;
314+ } ) ;
315+ it ( 'Splits arrays with delimiters with more than 1 character' , ( ) => {
316+ const customDelimiterField = { ...fieldStringArrayRequired , delimiter : '-/-' } ;
317+ const result = parseFieldValue ( 'a-/-b-/-c-/-d' , customDelimiterField ) ;
318+ expect ( result . success ) . true ;
319+ expect ( result . data ) . deep . equal ( [ 'a' , 'b' , 'c' , 'd' ] ) ;
320+ } ) ;
321+ } ) ;
303322 } ) ;
304323} ) ;
0 commit comments