public void Visit(MdCodeBlock codeBlock) { string codeFence; switch (m_Options.CodeBlockStyle) { case MdCodeBlockStyle.Backtick: codeFence = "```"; break; case MdCodeBlockStyle.Tilde: codeFence = "~~~"; break; default: throw new ArgumentException($"Unsupported code block style: {m_Options.CodeBlockStyle}"); } m_Writer.WriteLine($"{codeFence}{codeBlock.InfoString ?? ""}"); var lines = codeBlock.Text.Split(s_LineBreakChars, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { m_Writer.WriteLine(line); } m_Writer.WriteLine(codeFence); }
public void DeepEquals_returns_expected_value() { var instance1 = new MdCodeBlock("content"); var instance2 = new MdCodeBlock("content"); var instance3 = new MdCodeBlock("other content"); var instance4 = new MdCodeBlock("other content", "infoString"); var instance5 = new MdCodeBlock("other content", "infoString"); var instance6 = new MdCodeBlock("other content", "otherInfoString"); Assert.True(instance1.DeepEquals(instance1)); Assert.True(instance1.DeepEquals(instance2)); Assert.True(instance4.DeepEquals(instance5)); Assert.False(instance1.DeepEquals(null)); Assert.False(instance1.DeepEquals(instance3)); Assert.False(instance1.DeepEquals(new MdParagraph())); Assert.False(instance1.DeepEquals(instance6)); Assert.False(instance4.DeepEquals(instance6)); }