package com.dmarcotte.handlebars.util;
import com.dmarcotte.handlebars.config.HbConfig;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Disposer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.TestOnly;
import java.io.File;
public class HbTestUtils {
/**
* The root of the test data directory
*/
public static final String BASE_TEST_DATA_PATH = findTestDataPath();
private static String findTestDataPath() {
File f = new File("test", "data");
if (f.exists()) {
return f.getAbsolutePath();
}
return PathManager.getHomePath() + "/contrib/handlebars/test/data";
}
@TestOnly
public static void setOpenHtmlAsHandlebars(final boolean value, @NotNull final Project project, @NotNull Disposable parentDisposable) {
final boolean oldValue = HbConfig.shouldOpenHtmlAsHandlebars(project);
if (oldValue == value) return;
HbConfig.setShouldOpenHtmlAsHandlebars(value, project);
Disposer.register(parentDisposable, new Disposable() {
@Override
public void dispose() {
HbConfig.setShouldOpenHtmlAsHandlebars(oldValue, project);
}
});
}
}