title |
---|
5. Formatter Test |
This test checks if the Simple Language formatter, implemented in the Formatter section of the Custom Language Support Tutorial, works as expected.
Create the FormatterTestData.simple
properties file in the testData
directory.
{% include /code_samples/simple_language_plugin/src/test/testData/FormatterTestData.simple %}
Add the testFormatter()
method to the SimpleCodeInsightTest
class previously defined.
- Again, this method configures the test fixture by using the test file.
- The code style Simple Language settings for spaces and blank lines are set.
- The file is then formatted according to the settings.
- The formatted file is compared to the expected results in the benchmark file
DefaultTestData.simple
.
public void testFormatter() {
myFixture.configureByFile("FormatterTestData.simple");
CodeStyle.getLanguageSettings(myFixture.getFile()).SPACE_AROUND_ASSIGNMENT_OPERATORS = true;
CodeStyle.getLanguageSettings(myFixture.getFile()).KEEP_BLANK_LINES_IN_CODE = 2;
WriteCommandAction.writeCommandAction(getProject()).run(() -> {
CodeStyleManager.getInstance(getProject()).reformatText(myFixture.getFile(),
ContainerUtil.newArrayList(myFixture.getFile().getTextRange()));
});
myFixture.checkResultByFile("DefaultTestData.simple");
}
Run the test and make sure it's green.
TIP See also
FormatterTestCase
as convenient base class.