--- /dev/null
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2011 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
+ */
+package org.sonar.markdown;
+
+import org.sonar.channel.RegexChannel;
+
+class HtmlCodeChannel extends RegexChannel<MarkdownOutput> {
+
+ public HtmlCodeChannel() {
+ super("''.+?''");
+ }
+
+ @Override
+ protected void consume(CharSequence token, MarkdownOutput output) {
+ output.append("<code>");
+ output.append(token.subSequence(2, token.length() - 2));
+ output.append("</code>");
+ }
+}
markdownChannels.add(new HtmlUrlChannel());
markdownChannels.add(new HtmlEndOfLineChannel());
markdownChannels.add(new HtmlEmphasisChannel());
+ markdownChannels.add(new HtmlCodeChannel());
markdownChannels.add(new IdentifierAndNumberChannel());
markdownChannels.add(new BlackholeChannel());
dispatcher = new ChannelDispatcher<MarkdownOutput>(markdownChannels);
assertThat(MarkdownEngine.convertToHtml("1\r2\r\n3\n"), is("1<br/>2<br/>3<br/>"));
}
+ @Test
+ public void shouldDecorateCode() {
+ assertThat(MarkdownEngine.convertToHtml("This is a ''line of code''"), is("This is a <code>line of code</code>"));
+ assertThat(MarkdownEngine.convertToHtml("This is not a ''line of code"), is("This is not a ''line of code"));
+ }
+
@Test
public void shouldEmphaseText() {
assertThat(MarkdownEngine.convertToHtml("This is *important*"), is("This is <em>important</em>"));
assertThat(MarkdownEngine.convertToHtml("emphase*inside*word"), is("emphase<em>inside</em>word"));
// not supported yet
- //assertThat(MarkdownEngine.convertToHtml("\\*surrounded by literal asterisks\\*"), is("\\*surrounded by literal asterisks\\*"));
+ // assertThat(MarkdownEngine.convertToHtml("\\*surrounded by literal asterisks\\*"), is("\\*surrounded by literal asterisks\\*"));
}