Package org.jetbrains.plugins.clojure.resolve.psi

Source Code of org.jetbrains.plugins.clojure.resolve.psi.StubTest

package org.jetbrains.plugins.clojure.resolve.psi;

import com.intellij.psi.PsiReference;
import com.intellij.psi.impl.source.PsiFileImpl;
import com.intellij.psi.stubs.StubIndex;
import com.intellij.psi.stubs.StubUpdatingIndex;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import com.intellij.util.indexing.FileBasedIndex;
import org.jetbrains.plugins.clojure.psi.api.defs.ClDef;

/**
* @author peter
*/
public class StubTest extends LightCodeInsightFixtureTestCase {

  public void testDontParseUnrelatedNamespacesDuringResolve() {
    PsiFileImpl ns1 = (PsiFileImpl) myFixture.addFileToProject("ns1.clj", "(ns ns1)");
    PsiFileImpl ns2 = (PsiFileImpl) myFixture.addFileToProject("ns2.clj", "(ns ns2)");
    myFixture.configureByText("ns3.clj", "(require ns2)\n(ns2/foo)");

    myFixture.doHighlighting();
    assert !ns1.isContentsLoaded();
  }

  public void testDontParseTargetFileDuringDefnResolve() {
    PsiFileImpl used = (PsiFileImpl) myFixture.addFileToProject("used.clj", "(ns used)\n(defn foo [] (println \"hello\"))");
    myFixture.configureByText("main.clj", "(require used)\n(used/f<caret>oo)");

    PsiReference ref = myFixture.getFile().findReferenceAt(myFixture.getEditor().getCaretModel().getOffset());
    assertNotNull(ref);
    assertInstanceOf(ref.resolve(), ClDef.class);
    assert !used.isContentsLoaded();
  }
}
TOP

Related Classes of org.jetbrains.plugins.clojure.resolve.psi.StubTest

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.