Package com.google.jstestdriver.idea.assertFramework.qunit

Source Code of com.google.jstestdriver.idea.assertFramework.qunit.QUnitAdapterSupportInspection

package com.google.jstestdriver.idea.assertFramework.qunit;

import com.google.jstestdriver.idea.assertFramework.qunit.jsSrc.QUnitAdapterSrcMarker;
import com.google.jstestdriver.idea.assertFramework.support.AbstractAddAdapterSupportInspection;
import com.google.jstestdriver.idea.util.VfsUtils;
import com.intellij.javascript.testFramework.qunit.QUnitFileStructure;
import com.intellij.javascript.testFramework.qunit.QUnitFileStructureBuilder;
import com.intellij.lang.javascript.psi.JSCallExpression;
import com.intellij.lang.javascript.psi.JSFile;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.NotNullProducer;
import org.jetbrains.annotations.NotNull;

import java.util.List;

public class QUnitAdapterSupportInspection extends AbstractAddAdapterSupportInspection {

  public QUnitAdapterSupportInspection() {
    super(
      "QUnit",
      new NotNullProducer<List<VirtualFile>>() {
        @NotNull
        @Override
        public List<VirtualFile> produce() {
          String[] relativePaths = new String[]{"equiv.js", "QUnitAdapter.js"};
          return VfsUtils.findVirtualFilesByResourceNames(QUnitAdapterSrcMarker.class, relativePaths);
        }
      },
      "https://github.com/exnor/QUnit-to-JsTestDriver-adapter"
    );
  }

  @Override
  protected boolean isSuitableElement(@NotNull JSFile jsFile, @NotNull JSCallExpression callExpression) {
    QUnitFileStructure structure = QUnitFileStructureBuilder.getInstance().fetchCachedTestFileStructure(jsFile);
    String name = structure.getNameByPsiElement(callExpression);
    return name != null;
  }

}
TOP

Related Classes of com.google.jstestdriver.idea.assertFramework.qunit.QUnitAdapterSupportInspection

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.