How it worked before #78
Case 1
prefer_form_input_filter => truesizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 0sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 0
Case 2
prefer_form_input_filter => falsesizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 1sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 0
How it works after #78 (now)
Case 1
prefer_form_input_filter => truesizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 0sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 1
Case 2
prefer_form_input_filter => falsesizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 1sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 1
How it should work (my guess, but other behavior will mislead developers)
Case 1
prefer_form_input_filter => truesizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 0sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 0
Case 2
prefer_form_input_filter => falsesizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 1sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 1
As far as I remember, prefer_form_input_filter was introduced to prevent BC break, but right now we did the same for collections input filter (and this is also BC break).
InputFilter merging is inconsistent after #78 (was buggy before). I'll explain it basing on example below:
How it worked before #78 Case 1
prefer_form_input_filter => true
sizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 0
sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 0
Case 2prefer_form_input_filter => false
sizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 1
sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 0
How it works after #78 (now) Case 1
prefer_form_input_filter => true
sizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 0
sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 1
Case 2prefer_form_input_filter => false
sizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 1
sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 1
How it should work (my guess, but other behavior will mislead developers) Case 1
prefer_form_input_filter => true
sizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 0
sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 0
Case 2prefer_form_input_filter => false
sizeof($fieldsetElementInputFilter->getValidatorChain()->getValidators()) === 1
sizeof($collectionElementInputFilter->getValidatorChain()->getValidators()) === 1
As far as I remember,
prefer_form_input_filter
was introduced to prevent BC break, but right now we did the same for collections input filter (and this is also BC break).