@Test public void shouldEmphasisText() { assertThat(Markdown.convertToHtml("This is *Sparta !!!*")).isEqualTo("This is <strong>Sparta !!!</strong>"); assertThat(Markdown.convertToHtml("This is *A*")).isEqualTo("This is <strong>A</strong>"); assertThat(Markdown.convertToHtml("This should not be * \n emphasized")).isEqualTo("This should not be * <br/> emphasized"); assertThat(Markdown.convertToHtml("This is *very* very *important*")).isEqualTo("This is <strong>very</strong> very <strong>important</strong>"); assertThat(Markdown.convertToHtml("Not * emphasized * because of whitespaces")).isEqualTo("Not * emphasized * because of whitespaces"); assertThat(Markdown.convertToHtml("Not *emphasized * because of whitespace")).isEqualTo("Not *emphasized * because of whitespace"); assertThat(Markdown.convertToHtml("Not * emphasized* because of whitespace")).isEqualTo("Not * emphasized* because of whitespace"); assertThat(Markdown.convertToHtml("emphasized*inside*word")).isEqualTo("emphasized<strong>inside</strong>word"); assertThat(Markdown.convertToHtml("*Emphasize many words*")).isEqualTo("<strong>Emphasize many words</strong>"); }
@Test public void shouldDecorateUnorderedList() { assertThat(Markdown.convertToHtml(" * one\r* two\r\n* three\n * \n *five")) .isEqualTo("<ul><li>one</li>\r<li>two</li>\r\n<li>three</li>\n<li> </li>\n</ul> *five"); assertThat(Markdown.convertToHtml(" * one\r* two")).isEqualTo("<ul><li>one</li>\r<li>two</li></ul>"); assertThat(Markdown.convertToHtml("* \r*")).isEqualTo("<ul><li> </li>\r</ul>*"); }
@Test public void shouldDecorateOrderedList() { assertThat(Markdown.convertToHtml(" 1. one\r1. two\r\n1. three\n 1. \n 1.five")) .isEqualTo("<ol><li>one</li>\r<li>two</li>\r\n<li>three</li>\n<li> </li>\n</ol> 1.five"); assertThat(Markdown.convertToHtml(" 1. one\r1. two")).isEqualTo("<ol><li>one</li>\r<li>two</li></ol>"); assertThat(Markdown.convertToHtml("1. \r1.")).isEqualTo("<ol><li> </li>\r</ol>1."); }
@Test public void shouldDecorateMultipleLineCode() { assertThat(Markdown.convertToHtml("This is a ``\nline of code\nOn multiple lines\n``")).isEqualTo("This is a <pre><code>line of code\nOn multiple lines</code></pre>"); assertThat(Markdown.convertToHtml("This is not a ``line of code\nOn multiple lines``")).isEqualTo("This is not a ``line of code<br/>On multiple lines``"); assertThat(Markdown.convertToHtml("This is not a ``line of code\nOn multiple lines")).isEqualTo("This is not a ``line of code<br/>On multiple lines"); }
@Test public void shouldDecorateMultipleLineCodeWithLanguageSpecified() { assertThat(Markdown.convertToHtml("This is a ``java\nline of code\nOn multiple lines\n``")).isEqualTo("This is a <pre lang=\"java\"><code>line of code\nOn multiple lines</code></pre>"); assertThat(Markdown.convertToHtml("This is not a ``java line of code\nOn multiple lines``")).isEqualTo("This is not a ``java line of code<br/>On multiple lines``"); assertThat(Markdown.convertToHtml("This is not a ``java \nline of code\nOn multiple lines``")).isEqualTo("This is not a ``java <br/>line of code<br/>On multiple lines``"); }
@Test public void shouldDecorateCode() { assertThat(Markdown.convertToHtml("This is a ``line of code``")).isEqualTo("This is a <code>line of code</code>"); assertThat(Markdown.convertToHtml("This is not a ``line of code")).isEqualTo("This is not a ``line of code"); }
@Test public void shouldDecorateBlockquote() { assertThat(Markdown.convertToHtml("> Yesterday <br/> it worked\n> Today it is not working\r\n> Software is like that\r")) .isEqualTo("<blockquote>Yesterday <br/> it worked<br/>\nToday it is not working<br/>\r\nSoftware is like that<br/>\r</blockquote>"); assertThat(Markdown.convertToHtml("HTML elements should <em>not</em> be quoted!")) .isEqualTo("HTML elements should <em>not</em> be quoted!"); }
@Test public void shouldDecorateUrl() { assertThat(Markdown.convertToHtml("http://google.com")) .isEqualTo("<a href=\"http://google.com\" target=\"_blank\">http://google.com</a>"); }
@Test public void shouldDecorateMixedOrderedAndUnorderedList() { assertThat(Markdown.convertToHtml(" 1. one\r* two\r\n1. three\n * \n 1.five")) .isEqualTo("<ol><li>one</li>\r</ol><ul><li>two</li>\r\n</ul><ol><li>three</li>\n</ol><ul><li> </li>\n</ul> 1.five"); }
@Test public void shouldDecorateDocumentedLink() { assertThat(Markdown.convertToHtml("For more details, please [check online documentation](http://docs.sonarqube.org/display/SONAR).")) .isEqualTo("For more details, please <a href=\"http://docs.sonarqube.org/display/SONAR\" target=\"_blank\">check online documentation</a>."); }
@Test public void shouldDecorateHeadings() { assertThat(Markdown.convertToHtml(" = Top\r== Sub\r\n=== Subsub\n ==== \n 1.five")) .isEqualTo("<h1>Top\r</h1><h2>Sub\r\n</h2><h3>Subsub\n</h3><h4></h4> 1.five"); }
@Test public void shouldNotChangeAnythingInTheText() { assertThat(Markdown.convertToHtml("My text is $123 ''")).isEqualTo("My text is $123 ''"); }
@Test public void shouldDecorateEndOfLine() { assertThat(Markdown.convertToHtml("1\r2\r\n3\n")).isEqualTo("1<br/>2<br/>3<br/>"); }
private void setNotesFields(Rules.Rule.Builder ruleResponse, RuleMetadataDto ruleDto, Map<String, UserDto> usersByUuid, Set<String> fieldsToReturn) { String noteData = ruleDto.getNoteData(); if (shouldReturnField(fieldsToReturn, "htmlNote") && noteData != null) { ruleResponse.setHtmlNote(macroInterpreter.interpret(Markdown.convertToHtml(noteData))); } if (shouldReturnField(fieldsToReturn, "mdNote") && noteData != null) { ruleResponse.setMdNote(noteData); } String userUuid = ruleDto.getNoteUserUuid(); if (shouldReturnField(fieldsToReturn, FIELD_NOTE_LOGIN) && userUuid != null) { ruleResponse.setNoteLogin(usersByUuid.get(userUuid).getLogin()); } }
private void setDescriptionFields(Rules.Rule.Builder ruleResponse, RuleDefinitionDto ruleDto, Set<String> fieldsToReturn) { String description = ruleDto.getDescription(); if (shouldReturnField(fieldsToReturn, FIELD_HTML_DESCRIPTION)) { RuleDto.Format descriptionFormat = ruleDto.getDescriptionFormat(); if (description != null && descriptionFormat != null) { switch (descriptionFormat) { case MARKDOWN: ruleResponse.setHtmlDesc(macroInterpreter.interpret(Markdown.convertToHtml(description))); break; case HTML: ruleResponse.setHtmlDesc(macroInterpreter.interpret(description)); break; default: throw new IllegalStateException(format("Rule description format '%s' is unknown for key '%s'", descriptionFormat, ruleDto.getKey().toString())); } } } if (shouldReturnField(fieldsToReturn, FIELD_MARKDOWN_DESCRIPTION) && description != null) { ruleResponse.setMdDesc(description); } }
@Override public Rules.Rule.Param apply(@Nonnull RuleParamDto param) { Rules.Rule.Param.Builder paramResponse = Rules.Rule.Param.newBuilder(); paramResponse.setKey(param.getName()); if (param.getDescription() != null) { paramResponse.setHtmlDesc(Markdown.convertToHtml(param.getDescription())); } String defaultValue = param.getDefaultValue(); if (defaultValue != null) { paramResponse.setDefaultValue(defaultValue); } if (param.getType() != null) { paramResponse.setType(param.getType()); } return paramResponse.build(); } }
private static void formatIssueComments(SearchResponseData data, Issue.Builder wsIssue, IssueDto dto) { Comments.Builder wsComments = Comments.newBuilder(); List<IssueChangeDto> comments = data.getCommentsForIssueKey(dto.getKey()); if (comments != null) { Comment.Builder wsComment = Comment.newBuilder(); for (IssueChangeDto comment : comments) { String markdown = comment.getChangeData(); wsComment .clear() .setKey(comment.getKey()) .setUpdatable(data.isUpdatableComment(comment.getKey())) .setCreatedAt(DateUtils.formatDateTime(new Date(comment.getIssueChangeCreationDate()))); ofNullable(data.getUserByUuid(comment.getUserUuid())).ifPresent(user -> wsComment.setLogin(user.getLogin())); if (markdown != null) { wsComment .setHtmlText(Markdown.convertToHtml(markdown)) .setMarkdown(markdown); } wsComments.addComments(wsComment); } } wsIssue.setComments(wsComments); }
apiRule.setDescription(description); } else { apiRule.setDescription(Markdown.convertToHtml(description));
apiRule.setDescription(description); } else { apiRule.setDescription(Markdown.convertToHtml(description));
ruleDoc.setHtmlDescription(dto.getDescription()); } else { ruleDoc.setHtmlDescription(Markdown.convertToHtml(dto.getDescription()));