apache/maven-surefire — pull request #36 by kermit-the-frog (2014-03-13 08:48:11+00:00)
Title: Avoid invalid link ids in surefire-report

If you are using the Maven Surefire Report Plugin to view your jasmine test results (generated with Jasmine Maven Plugin) as HTML. The generated HTML-Pages look quite good in different browsers but the links on failed tests don't work at all.

The XML containing the jasmine results has whitespace and special chars in the names of the testcases. Theses names are not allowed for HTML-Ids, so the names have to be modified before using them as ids/targets for anchors/links in the generated HTML.

This is only done halfway in the current version of Maven Surefire Report Plugin. The anchors have a modified id. Because the SurefireReportGenerator.java uses sink.anchor() to generate the anchor tags. That function uses DoxiaUtils.encodeId() to encode any illegal character. But the link targets are wrong. SurefireReportGenerator.java uses it's own function toHtmlId() which does not implement the same logic as DoxiaUtils.encodeId().

Fixes included in this commit:
+ Call toHtmlId() everytime before using testCase.getFullName() as anchor id or link target.
+ Use DoxiaUtils.encodeId() in toHtmlId(), to avoid problems with any illegal char.

Regards,
kermit-the-frog