package com.dmarcotte.handlebars.format; import com.dmarcotte.handlebars.config.HbConfig; import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.psi.codeStyle.CodeStyleSettings; /** * Provides a setup and tear down for tests to use to set up the app test fixture * with a standard set of formatter settings */ public class FormatterTestSettings { private final CodeStyleSettings mySettings; private boolean myPrevFormatSetting; private int myPrevIndentSize; private String myPrevDoNotIndentSetting; public FormatterTestSettings(CodeStyleSettings codeStyleSettings) { mySettings = codeStyleSettings; } public void setUp() { myPrevFormatSetting = HbConfig.isFormattingEnabled(); HbConfig.setFormattingEnabled(true); myPrevIndentSize = mySettings.getIndentOptions(StdFileTypes.HTML).INDENT_SIZE; mySettings.getIndentOptions(StdFileTypes.HTML).INDENT_SIZE = 4; myPrevDoNotIndentSetting = mySettings.HTML_DO_NOT_INDENT_CHILDREN_OF; mySettings.HTML_DO_NOT_INDENT_CHILDREN_OF = ""; } public void tearDown() { HbConfig.setFormattingEnabled(myPrevFormatSetting); mySettings.getIndentOptions(StdFileTypes.HTML).INDENT_SIZE = myPrevIndentSize; mySettings.HTML_DO_NOT_INDENT_CHILDREN_OF = myPrevDoNotIndentSetting; } }