@@ -661,6 +661,40 @@ foreach ($offsets as $dimension) {
661
661
}
662
662
++$ testCasesTotal ;
663
663
}
664
+ /* Using offsets as references */
665
+ foreach ($ offsets as $ offset ) {
666
+ $ dimension = &$ offset ;
667
+ $ container = '' ;
668
+ $ error = '""[& ' . zend_test_var_export ($ offset ) . '] has different outputs ' . "\n" ;
669
+
670
+ include $ var_dim_filename ;
671
+ $ varOutput = ob_get_contents ();
672
+ ob_clean ();
673
+ $ varOutput = str_replace (
674
+ [$ var_dim_filename ],
675
+ ['%s ' ],
676
+ $ varOutput
677
+ );
678
+
679
+ if (
680
+ !preg_match ($ EXPECTED_OUTPUT_VALID_OFFSETS_REGEX , $ varOutput )
681
+ && !preg_match ($ EXPECTED_OUTPUT_VALID_OFFSETS_OUT_OF_RANGE_REGEX , $ varOutput )
682
+ && !preg_match ($ EXPECTED_OUTPUT_STRING_CAST_OFFSETS_REGEX , $ varOutput )
683
+ && !preg_match ($ EXPECTED_OUTPUT_STRING_CAST_OFFSETS_TO_0_REGEX , $ varOutput )
684
+ && !preg_match ($ EXPECTED_OUTPUT_STRING_CAST_OFFSETS_OUT_OF_RANGE_REGEX , $ varOutput )
685
+ && !preg_match ($ EXPECTF_OUTPUT_FLOAT_OFFSETS_OUT_OF_RANGE_REGEX , $ varOutput )
686
+ && !preg_match ($ EXPECTED_OUTPUT_FLOAT_INF_NAN_OFFSETS_REGEX , $ varOutput )
687
+ && !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_REGEX , $ varOutput )
688
+ && $ varOutput !== EXPECTED_OUTPUT_INVALID_OFFSETS_AS_STRINGS
689
+ && !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_AS_LEADING_NUMERIC_STRINGS_REGEX , $ varOutput )
690
+ && !preg_match ($ EXPECTED_OUTPUT_INVALID_OFFSETS_AS_LEADING_NUMERIC_STRINGS_TO_0_REGEX , $ varOutput )
691
+ ) {
692
+ file_put_contents (__DIR__ . DIRECTORY_SEPARATOR . "debug_string_container_ {$ failuresNb }.txt " , $ varOutput );
693
+ ++$ failuresNb ;
694
+ $ failures [] = $ error ;
695
+ }
696
+ ++$ testCasesTotal ;
697
+ }
664
698
ob_end_clean ();
665
699
666
700
echo "Executed tests \n" ;
0 commit comments