Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-1099

Invalid link ids in surefire-report

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Flags:
      Patch

      Description

      Described in this GitHub Pull-Request by kermit-the-frog: https://github.com/apache/maven-surefire/pull/36

      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

        Attachments

          Activity

            People

            • Assignee:
              agudian Andreas Gudian
              Reporter:
              agudian Andreas Gudian

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment