package com.google.jstestdriver.idea.execution; import com.intellij.execution.filters.Filter; import com.intellij.execution.testframework.sm.runner.TestProxyFilterProvider; import com.intellij.javascript.testFramework.util.BrowserStacktraceFilters; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.File; public class JstdTestProxyFilterProvider implements TestProxyFilterProvider { private final Project myProject; public JstdTestProxyFilterProvider(@NotNull Project project) { myProject = project; } @Nullable @Override public Filter getFilter(@NotNull String nodeType, @NotNull String nodeName, @Nullable String nodeArguments) { if ("browser".equals(nodeType) && nodeArguments != null) { final File basePath = new File(nodeArguments); if (basePath.isAbsolute() && basePath.isDirectory()) { return BrowserStacktraceFilters.createFilter(nodeName, myProject, basePath.getAbsolutePath()); } } if ("browserError".equals(nodeType) && nodeArguments != null) { File basePath = new File(nodeArguments); if (basePath.isDirectory() && basePath.isAbsolute()) { return new JsErrorFilter(myProject, basePath); } } return null; } }