intellij-plugin/Edu-Java/testSrc/com/jetbrains/edu/java/taskDescription/JTaskDescriptionHighlightingTest.kt (131 lines of code) (raw):

package com.jetbrains.edu.java.taskDescription import com.intellij.lang.Language import com.intellij.lang.java.JavaLanguage import com.jetbrains.edu.learning.taskToolWindow.TaskDescriptionHighlightingTestBase import org.junit.Test class JTaskDescriptionHighlightingTest : TaskDescriptionHighlightingTestBase() { override val language: Language = JavaLanguage.INSTANCE @Test fun `test markdown description highlighting`() = doMarkdownTest(""" Code block with default language: ``` class Main { public static void main(String[] args) { System.out.println("Hello!"); } } ``` Code block with specific language: ```java class Main { public static void main(String[] args) { System.out.println("Hello!"); } } ``` Inline code `if (condition) {} else {}` """, """ <html> <head>...</head> <body> <div class="wrapper"> <p>Code block with default language:</p> <span class="code-block"> <pre> <span style="...">class </span><span style="...">Main {</span> <span style="...">public static void </span><span style="...">main(String[] args) {</span> <span style="...">System.out.println(</span><span style="...">"Hello!"</span><span style="...">);</span> <span style="...">}</span> <span style="...">}</span> </pre> </span> <p>Code block with specific language:</p> <span class="code-block"> <pre> <span style="...">class </span><span style="...">Main {</span> <span style="...">public static void </span><span style="...">main(String[] args) {</span> <span style="...">System.out.println(</span><span style="...">"Hello!"</span><span style="...">);</span> <span style="...">}</span> <span style="...">}</span> </pre> </span> <p>Inline code <span class="code"><span style="...">if </span><span style="...">(condition) {} </span><span style="...">else </span><span style="...">{}</span></span></p> </div> </body> </html> """) @Test fun `test html description highlighting`() = doHtmlTest(""" <html> <p>Code block with default language:</p> <pre><code> class Main { public static void main(String[] args) { System.out.println("Hello!"); } } </code></pre> <p>Code block with specific language:</p> <pre><code data-lang="text/x-java"> class Main { public static void main(String[] args) { System.out.println("Hello!"); } } </code></pre> <p>Inline code <code>if (condition) {} else {}</code></p> </html> """, """ <html> <head>...</head> <body> <div class="wrapper"> <p>Code block with default language:</p> <span class="code-block"> <pre> <span style="...">class </span><span style="...">Main {</span> <span style="...">public static void </span><span style="...">main(String[] args) {</span> <span style="...">System.out.println(</span><span style="...">"Hello!"</span><span style="...">);</span> <span style="...">}</span> <span style="...">}</span> </pre> </span> <p>Code block with specific language:</p> <span class="code-block"> <pre> <span style="...">class </span><span style="...">Main {</span> <span style="...">public static void </span><span style="...">main(String[] args) {</span> <span style="...">System.out.println(</span><span style="...">"Hello!"</span><span style="...">);</span> <span style="...">}</span> <span style="...">}</span> </pre> </span> <p>Inline code <span class="code"><span style="...">if </span><span style="...">(condition) {} </span><span style="...">else </span><span style="...">{}</span></span></p> </div> </body> </html> """) @Test fun `test html description no highlighting class`() = doHtmlTest(""" <html> <pre><code class="no-highlight"> class Main { public static void main(String[] args) { System.out.println("Hello!"); } } </code></pre> </html> """, """ <html> <head>...</head> <body> <div class="wrapper"> <span class="code-block"> <pre> <span style="...">class Main {</span> <span style="...">public static void main(String[] args) {</span> <span style="...">System.out.println("Hello!");</span> <span style="...">}</span> <span style="...">}</span> </pre> </span> </div> </body> </html> """) }