| package com.jetbrains.rest; |
| |
| import com.intellij.psi.PsiElement; |
| import com.jetbrains.rest.fixtures.RestFixtureTestCase; |
| |
| /** |
| * User : catherine |
| */ |
| public class RestGotoDeclarationTest extends RestFixtureTestCase { |
| |
| public void testFootnote() { |
| doTest("[1]"); |
| } |
| |
| public void testCitation() { |
| doTest("[CIT01]"); |
| } |
| |
| public void testHyperlink() { |
| doTest("_Reddit:"); |
| } |
| |
| public void testEscapedHyperlink() { |
| doTest("_Reddit and digg:"); |
| } |
| |
| public void testSubstitution() { |
| doTest("|text|"); |
| } |
| |
| public void testAnonimousHyperlink() { |
| doTest("__"); |
| } |
| |
| public void testTitle() { |
| doTest("=============\nTitle\n=============\n"); |
| } |
| |
| public void testInsideFootnote() { |
| doTest("_Reddit:"); |
| } |
| |
| public void testEmpty() { |
| RestGotoProvider provider = new RestGotoProvider(); |
| final String path = "/goto/empty.rst"; |
| myFixture.configureByFile(path); |
| int e = myFixture.getCaretOffset(); |
| PsiElement result = provider.getGotoDeclarationTarget(myFixture.getFile().findElementAt(e), myFixture.getEditor()); |
| assertNull(result); |
| } |
| |
| private void doTest(String expected) { |
| RestGotoProvider provider = new RestGotoProvider(); |
| final String path = "/goto/" + getTestName(true); |
| myFixture.configureByFile(path + ".rst"); |
| |
| int e = myFixture.getCaretOffset(); |
| PsiElement result = provider.getGotoDeclarationTarget(myFixture.getFile().findElementAt(e), myFixture.getEditor()); |
| assertNotNull(result); |
| assertEquals(expected, result.getText()); |
| } |
| } |