7. Folding Test
Edit pageLast modified: 24 March 2023Tested Functionality: 12. Folding Builder
tip
This page is part of multistep Testing a Custom Language Plugin tutorial.
note
A folding builder must implement
DumbAware
to pass tests. See Define a Folding Builder for more information.
Define Test Data
Create a file FoldingTestData.java in the testData directory. This java file contains markup instructions for three different cases of code folding.
public class Test {
public static void main(String[] args)<fold text=' { '> {
</fold>System.out.println("<fold text='https://en.wikipedia.org/'>simple:website</fold>");<fold text=' }'>
}</fold>
public static void main1(String[] args)<fold text=' { '> {
</fold>System.out.println("<fold text='This is the value that could be looked up with the key \"key with spaces\".'>simple:key with spaces</fold>");<fold text=' }'>
}</fold>
public static void main2(String[] args)<fold text=' { '> {
</fold>System.out.println("<fold text='Welcome to \n Wikipedia!'>simple:message</fold>");<fold text=' }'>
}</fold>
}
Define a Test
Add the testFolding()
method to the SimpleCodeInsightTest
class previously defined. This test method reuses the DefaultTestData.simple Simple file.
public void testFolding() {
myFixture.configureByFile("DefaultTestData.simple");
myFixture.testFolding(getTestDataPath() + "/FoldingTestData.java");
}
Run the Test
Run the test and make sure it's successful.
Open the Gradle Tool Window.
Select the simple_language_plugin node. You may need to reimport it as a Gradle project.
Drill down under simple_language_plugin to Tasks, verification, test task.
Run the test task.
The results are displayed in the Run Tool Window, and also written to the simple_language_plugin
If the Run Tool Window displays the error Test events were not received, do the following:
In the Gradle Tool Window, drill down under simple_language_plugin to Tasks, build, clean task.
Run the clean task, which deletes the simple_language_plugin/build directory.
Restart the test.
Thanks for your feedback!