Search in sources :

Example 41 with IHyperlink

use of org.eclipse.jface.text.hyperlink.IHyperlink in project xtext-xtend by eclipse.

the class DetectImplHyperlinksTest method testComputeHyperlink_1.

@Test
public void testComputeHyperlink_1() throws Exception {
    String content = "package foo class Foo { def b|ar(String a) {} }";
    XtextEditor xtextEditor = openEditor(content.replace("|", ""));
    int offset = content.indexOf("|");
    IHyperlink[] detectHyperlinks = hyperlinkDetector.detectHyperlinks(xtextEditor.getInternalSourceViewer(), new Region(offset, 1), true);
    assertEquals(2, detectHyperlinks.length);
    IHyperlink hyperlink = detectHyperlinks[0];
    assertTrue(hyperlink instanceof JdtHyperlink);
    JdtHyperlink casted = (JdtHyperlink) hyperlink;
    assertEquals(offset - 1, casted.getHyperlinkRegion().getOffset());
    assertEquals(3, casted.getHyperlinkRegion().getLength());
    IJavaElement element = ((JdtHyperlink) hyperlink).getJavaElement();
    assertTrue(element instanceof IType);
    assertEquals("Object", element.getElementName());
    assertEquals("Open Inferred Type - Object", casted.getHyperlinkText());
}
Also used : IJavaElement(org.eclipse.jdt.core.IJavaElement) IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextEditor(org.eclipse.xtext.ui.editor.XtextEditor) Region(org.eclipse.jface.text.Region) JdtHyperlink(org.eclipse.xtext.common.types.xtext.ui.JdtHyperlink) IType(org.eclipse.jdt.core.IType) Test(org.junit.Test) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest)

Example 42 with IHyperlink

use of org.eclipse.jface.text.hyperlink.IHyperlink in project xtext-xtend by eclipse.

the class OpenImplHyperlinksTest method testComputeHyperlink_1.

@Test
public void testComputeHyperlink_1() throws Exception {
    String content = "package foo class Foo implements IBar { override bar(String a) { b|ar('foo') } } interface IBar { def String bar(String a) }";
    XtextEditor xtextEditor = openEditor(content.replace("|", ""));
    int offset = content.indexOf("|");
    IHyperlink[] detectHyperlinks = hyperlinkDetector.detectHyperlinks(xtextEditor.getInternalSourceViewer(), new Region(offset, 1), true);
    XbaseImplementatorsHyperlink casted = null;
    for (IHyperlink iHyperlink : detectHyperlinks) {
        if (iHyperlink instanceof XbaseImplementatorsHyperlink) {
            casted = (XbaseImplementatorsHyperlink) iHyperlink;
        }
    }
    @SuppressWarnings("null") Field field = casted.getClass().getDeclaredField("opener");
    field.setAccessible(true);
    TestJvmImplementationOpener testOpener = new TestJvmImplementationOpener();
    field.set(casted, testOpener);
    casted.open();
    assertTrue(testOpener.isOpenInEditor);
    assertFalse(testOpener.isOpenQuickHierarchy);
}
Also used : Field(java.lang.reflect.Field) IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextEditor(org.eclipse.xtext.ui.editor.XtextEditor) XbaseImplementatorsHyperlink(org.eclipse.xtext.xbase.ui.navigation.XbaseImplementatorsHyperlink) Region(org.eclipse.jface.text.Region) IRegion(org.eclipse.jface.text.IRegion) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest) Test(org.junit.Test)

Example 43 with IHyperlink

use of org.eclipse.jface.text.hyperlink.IHyperlink in project xtext-xtend by eclipse.

the class OpenImplHyperlinksTest method testComputeHyperlink_2.

@Test
public void testComputeHyperlink_2() throws Exception {
    String content = "package foo interface IBar {def void bar(String a)} class Foo implements IBar { override bar(String a){ val IBar x = null; x.b|ar('foo'} } class Foo2 implements IBar { override bar(String a) {} }";
    XtextEditor xtextEditor = openEditor(content.replace("|", ""));
    int offset = content.indexOf("|");
    IHyperlink[] detectHyperlinks = hyperlinkDetector.detectHyperlinks(xtextEditor.getInternalSourceViewer(), new Region(offset, 1), true);
    XbaseImplementatorsHyperlink casted = null;
    for (IHyperlink iHyperlink : detectHyperlinks) {
        if (iHyperlink instanceof XbaseImplementatorsHyperlink) {
            casted = (XbaseImplementatorsHyperlink) iHyperlink;
        }
    }
    @SuppressWarnings("null") Field field = casted.getClass().getDeclaredField("opener");
    field.setAccessible(true);
    TestJvmImplementationOpener testOpener = new TestJvmImplementationOpener();
    field.set(casted, testOpener);
    casted.open();
    assertFalse(testOpener.isOpenInEditor);
    assertTrue(testOpener.isOpenQuickHierarchy);
}
Also used : Field(java.lang.reflect.Field) IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextEditor(org.eclipse.xtext.ui.editor.XtextEditor) XbaseImplementatorsHyperlink(org.eclipse.xtext.xbase.ui.navigation.XbaseImplementatorsHyperlink) Region(org.eclipse.jface.text.Region) IRegion(org.eclipse.jface.text.IRegion) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest) Test(org.junit.Test)

Example 44 with IHyperlink

use of org.eclipse.jface.text.hyperlink.IHyperlink in project linuxtools by eclipse.

the class MailHyperlinkDetectorTest method testDetectHyperlinksNoRegionAndTextViewer.

@Test
public void testDetectHyperlinksNoRegionAndTextViewer() {
    MailHyperlinkDetector elementDetector = new MailHyperlinkDetector();
    elementDetector.setEditor(editor);
    IHyperlink[] returned = elementDetector.detectHyperlinks(null, null, false);
    assertNull(returned);
}
Also used : IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) MailHyperlinkDetector(org.eclipse.linuxtools.internal.rpm.ui.editor.hyperlink.MailHyperlinkDetector) Test(org.junit.Test)

Example 45 with IHyperlink

use of org.eclipse.jface.text.hyperlink.IHyperlink in project linuxtools by eclipse.

the class SourcesFileHyperlinkDetectorTest method testDetectHyperlinksNoRegionAndTextViewer.

@Test
public void testDetectHyperlinksNoRegionAndTextViewer() {
    SourcesFileHyperlinkDetector elementDetector = new SourcesFileHyperlinkDetector();
    elementDetector.setEditor(editor);
    IHyperlink[] returned = elementDetector.detectHyperlinks(null, null, false);
    assertNull(returned);
}
Also used : IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) SourcesFileHyperlinkDetector(org.eclipse.linuxtools.internal.rpm.ui.editor.hyperlink.SourcesFileHyperlinkDetector) Test(org.junit.Test)

Aggregations

IHyperlink (org.eclipse.jface.text.hyperlink.IHyperlink)47 Test (org.junit.Test)35 XtextResource (org.eclipse.xtext.resource.XtextResource)20 IRegion (org.eclipse.jface.text.IRegion)19 Region (org.eclipse.jface.text.Region)19 IEditorPart (org.eclipse.ui.IEditorPart)9 SourcesFileHyperlinkDetector (org.eclipse.linuxtools.internal.rpm.ui.editor.hyperlink.SourcesFileHyperlinkDetector)5 IFile (org.eclipse.core.resources.IFile)4 JdtHyperlink (org.eclipse.xtext.common.types.xtext.ui.JdtHyperlink)4 XtextEditor (org.eclipse.xtext.ui.editor.XtextEditor)4 AbstractEditorTest (org.eclipse.xtext.ui.testing.AbstractEditorTest)4 IDocument (org.eclipse.jface.text.IDocument)3 URLHyperlink (org.eclipse.jface.text.hyperlink.URLHyperlink)3 SpecfileEditor (org.eclipse.linuxtools.internal.rpm.ui.editor.SpecfileEditor)3 XtextHyperlink (org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink)3 XbaseImplementatorsHyperlink (org.eclipse.xtext.xbase.ui.navigation.XbaseImplementatorsHyperlink)3 JsonPointer (com.fasterxml.jackson.core.JsonPointer)2 SwaggerHyperlink (com.reprezen.swagedit.core.hyperlinks.SwaggerHyperlink)2 Field (java.lang.reflect.Field)2 ArrayList (java.util.ArrayList)2