@@ -2668,12 +2668,15 @@ function junit_mark_test_as($type, $file_name, $test_name, $time = null, $messag
2668
2668
$ time = null !== $ time ? $ time : junit_get_timer ($ file_name );
2669
2669
junit_suite_record ($ suite , 'execution_time ' , $ time );
2670
2670
2671
+ $ escaped_details = htmlspecialchars ($ details , ENT_QUOTES , 'UTF-8 ' );
2672
+
2671
2673
$ escaped_test_name = basename ($ file_name ) . ' - ' . htmlspecialchars ($ test_name , ENT_QUOTES );
2672
2674
$ JUNIT ['files ' ][$ file_name ]['xml ' ] = "<testcase classname=' $ suite' name=' $ escaped_test_name' time=' $ time'> \n" ;
2673
2675
2674
2676
if (is_array ($ type )) {
2675
2677
$ output_type = $ type [0 ] . 'ED ' ;
2676
- $ type = reset (array_intersect (array ('XFAIL ' , 'FAIL ' ), $ type ));
2678
+ $ temp = array_intersect (array ('XFAIL ' , 'FAIL ' ), $ type );
2679
+ $ type = reset ($ temp );
2677
2680
} else {
2678
2681
$ output_type = $ type . 'ED ' ;
2679
2682
}
@@ -2688,10 +2691,10 @@ function junit_mark_test_as($type, $file_name, $test_name, $time = null, $messag
2688
2691
$ JUNIT ['files ' ][$ file_name ]['xml ' ] .= "<skipped> $ message</skipped> \n" ;
2689
2692
} elseif ('FAIL ' == $ type ) {
2690
2693
junit_suite_record ($ suite , 'test_fail ' );
2691
- $ JUNIT ['files ' ][$ file_name ]['xml ' ] .= "<failure type=' $ output_type' message=' $ message'> $ details </failure> \n" ;
2694
+ $ JUNIT ['files ' ][$ file_name ]['xml ' ] .= "<failure type=' $ output_type' message=' $ message'> $ escaped_details </failure> \n" ;
2692
2695
} else {
2693
2696
junit_suite_record ($ suite , 'test_error ' );
2694
- $ JUNIT ['files ' ][$ file_name ]['xml ' ] .= "<error type=' $ output_type' message=' $ message'> $ details </error> \n" ;
2697
+ $ JUNIT ['files ' ][$ file_name ]['xml ' ] .= "<error type=' $ output_type' message=' $ message'> $ escaped_details </error> \n" ;
2695
2698
}
2696
2699
2697
2700
$ JUNIT ['files ' ][$ file_name ]['xml ' ] .= "</testcase> \n" ;
0 commit comments