public void WriteStandard_SyntaxHighlightsCodeUsingHighlightJSIfSyntaxHighlighterIsHighlightJS() { // Arrange const string dummyCode = "dummyCode"; const string dummyHighlightedCode = "dummyHighlightedCode"; const string dummyLanguage = "dummyLanguage"; Mock <IHighlightJSService> mockHighlightJSService = _mockRepository.Create <IHighlightJSService>(); mockHighlightJSService.Setup(p => p.HighlightAsync(dummyCode, dummyLanguage, "hljs-", default)).ReturnsAsync(dummyHighlightedCode); var dummyStringWriter = new StringWriter(); var dummyHtmlRenderer = new HtmlRenderer(dummyStringWriter); FlexiCodeBlock dummyFlexiCodeBlock = CreateFlexiCodeBlock(language: dummyLanguage, code: dummyCode, syntaxHighlighter: SyntaxHighlighter.HighlightJS); FlexiCodeBlockRenderer testSubject = CreateFlexiCodeBlockRenderer(highlightJSService: mockHighlightJSService.Object); // Act testSubject.WriteStandard(dummyHtmlRenderer, dummyFlexiCodeBlock); string result = dummyStringWriter.ToString(); // Assert _mockRepository.VerifyAll(); Assert.Equal($@"<div class="" _no-title _no-copy-icon _has-header _language_dummyLanguage _has-syntax-highlights _no-line-numbers _no-omitted-lines-icon _no-highlighted-lines _no-highlighted-phrases""> <header class=""__header""> <button class=""__copy-button"" aria-label=""Copy code""> </button> </header> <pre class=""__pre""><code class=""__code"">{dummyHighlightedCode} </code></pre> </div> ", result, ignoreLineEndingDifferences: true); }
public void WriteStandard_RendersStandardCodeBlock(FlexiCodeBlock dummyFlexiCodeBlock, string expectedResult) { // Arrange var dummyStringWriter = new StringWriter(); var dummyHtmlRenderer = new HtmlRenderer(dummyStringWriter); FlexiCodeBlockRenderer testSubject = CreateFlexiCodeBlockRenderer(); // Act testSubject.WriteStandard(dummyHtmlRenderer, dummyFlexiCodeBlock); string result = dummyStringWriter.ToString(); // Assert Assert.Equal(expectedResult, result, ignoreLineEndingDifferences: true); }
public void WriteClassic_RendersClassicCodeBlock(int dummyCodeNumLines, string dummyCode, string expectedResult) { // Arrange var dummyStringWriter = new StringWriter(); var dummyHtmlRenderer = new HtmlRenderer(dummyStringWriter); FlexiCodeBlock dummyFlexiCodeBlock = CreateFlexiCodeBlock(codeNumLines: dummyCodeNumLines, code: dummyCode); FlexiCodeBlockRenderer testSubject = CreateFlexiCodeBlockRenderer(); // Act testSubject.WriteClassic(dummyHtmlRenderer, dummyFlexiCodeBlock); string result = dummyStringWriter.ToString(); // Assert Assert.Equal(expectedResult, result); }