public void testIssue453() { myFixture.configureByFiles("defmodule.ex"); myFixture.complete(CompletionType.BASIC); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull("Completion not shown", strings); assertEquals("Wrong number of completions", 0, strings.size()); }
public void testPublicMacroFunction() { myFixture.configureByFiles("public_macro_usage.ex", "public_macro_declaration.ex"); myFixture.complete(CompletionType.BASIC, 1); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull("Completion lookup not shown", strings); assertCompletion("public_macro1", strings); assertCompletion("public_macro2", strings); assertEquals("Wrong number of completions", 2, strings.size()); }
public void testPrivateFunction() { myFixture.configureByFiles("private_function_usage.ex", "private_function_declaration.ex"); myFixture.complete(CompletionType.BASIC, 1); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull("Completion lookup not shown", strings); assertCompletion("private_function1", strings); assertCompletion("private_function2", strings); assertEquals("Wrong number of completions", 2, strings.size()); }
public void testPublicFunction() { myFixture.configureByFiles("public_function_usage.ex", "public_function_declaration.ex"); myFixture.complete(CompletionType.BASIC, 1); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull("Completion lookup not shown", strings); assertCompletion("public_function1", strings); assertCompletion("public_function2", strings); assertEquals("Wrong number of completions", 2, strings.size()); }
public void testPrivateMacroFunction() { myFixture.configureByFiles("private_macro_usage.ex", "private_macro_declaration.ex"); myFixture.complete(CompletionType.BASIC, 1); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull("Completion lookup not shown", strings); assertCompletion("private_macro1", strings); assertCompletion("private_macro2", strings); assertEquals("Wrong number of completions", 2, strings.size()); }
public void testCallDefinitionClauseCallWhileImportModule() { myFixture.configureByFiles("import_module.ex", "imported.ex"); PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()); assertNotNull(elementAtCaret); PsiElement maybeCall = elementAtCaret.getParent().getParent(); assertInstanceOf(maybeCall, Call.class); Call call = (Call) maybeCall; assertTrue(Import.is(call)); final ArrayList<Call> importedCallList = new ArrayList<>(); Import.callDefinitionClauseCallWhile(call, call1 -> { importedCallList.add(call1); return true; }); assertEquals(3, importedCallList.size()); }
public void testMixesWithNestedModules() { myFixture.configureByFiles("mixed_usage.ex", "mixed_declaration.ex"); myFixture.complete(CompletionType.BASIC, 1); List<String> strings = myFixture.getLookupElementStrings(); assertNotNull("Completion lookup not shown", strings); assertCompletion("public_macro", strings); assertCompletion("private_macro", strings); assertCompletion("public_function", strings); assertCompletion("private_function", strings); assertCompletion("MixedDeclaration.Nested", strings); assertCompletion("Prefix.MixedDeclaration.Nested", strings); assertEquals("Wrong number of completions", 6, strings.size()); }
public void testCallDefinitionClauseCallWhileImportModuleOnlyNameArity() { myFixture.configureByFiles("import_module_only_name_arity.ex", "imported.ex"); PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()); assertNotNull(elementAtCaret); PsiElement maybeCall = elementAtCaret.getParent().getParent(); assertInstanceOf(maybeCall, Call.class); Call call = (Call) maybeCall; assertTrue(Import.is(call)); final ArrayList<Call> importedCallList = new ArrayList<>(); Import.callDefinitionClauseCallWhile(call, call1 -> { importedCallList.add(call1); return true; }); assertEquals(1, importedCallList.size()); Call importedCall = importedCallList.get(0); assertEquals(new NameArityRange("imported", new IntRange(0, 0)), nameArityRange(importedCall)); }
public void testIssue462() { myFixture.configureByFiles("self_completion.ex"); PsiElement head = myFixture .getFile() .findElementAt(myFixture.getCaretOffset() - 1) .getParent() .getParent(); assertInstanceOf(head, Call.class); PsiReference reference = head.getReference(); assertNotNull("Call definition head does not have a reference", reference); Object[] variants = reference.getVariants(); int count = 0; for (Object variant : variants) { if (variant instanceof LookupElement) { LookupElement lookupElement = (LookupElement) variant; if (lookupElement.getLookupString().equals("the_function_currently_being_defined")) { count += 1; } } } assertEquals("There is at least one entry for the function currently being defined in variants", 0, count); }
public void testCallDefinitionClauseCallWhileImportModuleExceptNameArity() { myFixture.configureByFiles("import_module_except_name_arity.ex", "imported.ex"); PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()); assertNotNull(elementAtCaret); PsiElement maybeCall = elementAtCaret.getParent().getParent(); assertInstanceOf(maybeCall, Call.class); Call call = (Call) maybeCall; assertTrue(Import.is(call)); final ArrayList<Call> importedCallList = new ArrayList<>(); Import.callDefinitionClauseCallWhile(call, call1 -> { importedCallList.add(call1); return true; }); assertEquals(2, importedCallList.size()); List<NameArityRange> nameArityRangeList = ContainerUtil.map( importedCallList, CallDefinitionClause::nameArityRange ); assertContainsElements( Arrays.asList( new NameArityRange("imported", new IntRange(1, 1)), new NameArityRange("imported", new IntRange(0, 0)) ), nameArityRangeList ); }
public void testCompletion() { myFixture.configureByFiles("completion.ex", "suffix.ex", "nested.ex"); myFixture.complete(CompletionType.BASIC, 1); List<String> strings = myFixture.getLookupElementStrings(); assertNull("Completion lookup shown", strings); PsiElement autoInsertedLeafElement = myFixture.getFile().findElementAt(myFixture.getCaretOffset() - 1); assertNotNull(autoInsertedLeafElement); assertInstanceOf(autoInsertedLeafElement, LeafPsiElement.class); PsiElement autoInsertedCompositeElement = autoInsertedLeafElement.getParent(); assertInstanceOf(autoInsertedCompositeElement, ElixirAlias.class); assertEquals(autoInsertedCompositeElement.getText(), "Nested"); }
public void testImportModuleExceptNameArity() { myFixture.configureByFiles("import_module_except_name_arity.ex", "imported.ex"); PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()); assertNotNull(elementAtCaret); PsiElement maybeCall = elementAtCaret.getParent().getParent(); assertInstanceOf(maybeCall, Call.class); Call call = (Call) maybeCall; assertEquals("imported", call.functionName()); assertEquals(0, call.resolvedFinalArity()); PsiReference reference = call.getReference(); assertNotNull(reference); assertInstanceOf(reference, PsiPolyVariantReference.class); PsiPolyVariantReference polyVariantReference = (PsiPolyVariantReference) reference; ResolveResult[] resolveResults = polyVariantReference.multiResolve(false); assertEquals(2, resolveResults.length); }
public void testImportModuleOnlyNameArity() { myFixture.configureByFiles("import_module_only_name_arity.ex", "imported.ex"); PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()); assertNotNull(elementAtCaret); PsiElement maybeCall = elementAtCaret.getParent().getParent(); assertInstanceOf(maybeCall, Call.class); Call call = (Call) maybeCall; assertEquals("imported", call.functionName()); assertEquals(0, call.resolvedFinalArity()); PsiReference reference = call.getReference(); assertNotNull(reference); assertInstanceOf(reference, PsiPolyVariantReference.class); PsiPolyVariantReference polyVariantReference = (PsiPolyVariantReference) reference; ResolveResult[] resolveResults = polyVariantReference.multiResolve(false); assertEquals(2, resolveResults.length); }
public void testImportModule() { myFixture.configureByFiles("import_module.ex", "imported.ex"); PsiElement elementAtCaret = myFixture.getFile().findElementAt(myFixture.getCaretOffset()); assertNotNull(elementAtCaret); PsiElement maybeCall = elementAtCaret.getParent().getParent(); assertInstanceOf(maybeCall, Call.class); Call call = (Call) maybeCall; assertEquals("imported", call.functionName()); assertEquals(0, call.resolvedFinalArity()); PsiReference reference = call.getReference(); assertNotNull(reference); assertInstanceOf(reference, PsiPolyVariantReference.class); PsiPolyVariantReference polyVariantReference = (PsiPolyVariantReference) reference; ResolveResult[] resolveResults = polyVariantReference.multiResolve(false); assertEquals(2, resolveResults.length); } public void testImportModuleExceptNameArity() {
public void testReference() { myFixture.configureByFiles("reference.ex", "suffix.ex", "nested.ex"); PsiElement alias = myFixture .getFile() .findElementAt(myFixture.getCaretOffset()) .getParent() .getPrevSibling(); assertInstanceOf(alias, QualifiedAlias.class); PsiPolyVariantReference polyVariantReference = (PsiPolyVariantReference) alias.getReference(); assertNotNull(polyVariantReference); ResolveResult[] resolveResults = polyVariantReference.multiResolve(false); assertEquals(2, resolveResults.length); // alias assertEquals( "alias Prefix.Suffix, as: As", resolveResults[0].getElement().getParent().getParent().getParent().getParent().getParent().getText() ); // defmodule assertEquals("defmodule Prefix.Suffix.Nested do\nend", resolveResults[1].getElement().getText()); }
public void testReference() { myFixture.configureByFiles("reference.ex", "suffix1.ex"); PsiElement alias = myFixture .getFile() .findElementAt(myFixture.getCaretOffset()) .getParent() .getPrevSibling() .getFirstChild(); assertInstanceOf(alias, ElixirAlias.class); PsiPolyVariantReference polyVariantReference = (PsiPolyVariantReference) alias.getReference(); assertNotNull(polyVariantReference); ResolveResult[] resolveResults = polyVariantReference.multiResolve(false); assertEquals(3, resolveResults.length); // alias .., as: assertEquals( "alias Prefix.Suffix1, as: As", resolveResults[0].getElement().getParent().getParent().getParent().getParent().getParent().getText() ); // alias .. assertEquals( "alias Prefix.Suffix1, as: As", resolveResults[1].getElement().getParent().getParent().getText() ); // defmodule .. assertEquals("defmodule Prefix.Suffix1 do\nend", resolveResults[2].getElement().getText()); }
private void check() { String file = getTestName(false) + ".proto"; myFixture.configureByFiles(file); myFixture.checkHighlighting(); }
public void testRenameExtension_caretAtFieldName() { myFixture.configureByFiles("rename/field/RenameExtension_CaretAtField.proto"); myFixture.renameElementAtCaret("NewName"); FieldNode option = myFixture.findElementByText("NewName", FieldNode.class); Assert.assertNotNull(option); }
@Test public void testEscapedVariableRename() throws Exception { myFixture.setTestDataPath(getTestDataPath() + getTestName(true)); myFixture.configureByFiles("source.bash"); myFixture.renameElementAtCaret("X_RENAMED"); myFixture.checkResultByFile("source.bash", "source_after.bash", false); }
public void testFix_import_empty_proto() { String[] file = new String[]{"reference/Fix_import_empty_proto.proto"}; myFixture.configureByFiles(file); PsiReference referenceAtCaretPosition = myFixture.getReferenceAtCaretPositionWithAssertion(file); PsiElement target = referenceAtCaretPosition.resolve(); assertNotNull(target); assertTrue(target instanceof ProtoPsiFileRoot); ProtoPsiFileRoot protoPsiFileRoot = (ProtoPsiFileRoot) target; assertEquals("empty.proto", protoPsiFileRoot.getName()); }