From a8485fc02cee4733fe9e2913509281618808249e Mon Sep 17 00:00:00 2001 From: Luke Imhoff Date: Sun, 23 Jul 2017 21:51:42 -0500 Subject: [PATCH] Failing regression test for #659 --- .../reference/callable/issue_659/is.ex | 4 ++ .../reference/callable/Issue659Test.java | 41 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 testData/org/elixir_lang/reference/callable/issue_659/is.ex create mode 100644 tests/org/elixir_lang/reference/callable/Issue659Test.java diff --git a/testData/org/elixir_lang/reference/callable/issue_659/is.ex b/testData/org/elixir_lang/reference/callable/issue_659/is.ex new file mode 100644 index 000000000..d2dbfa2f4 --- /dev/null +++ b/testData/org/elixir_lang/reference/callable/issue_659/is.ex @@ -0,0 +1,4 @@ +defmodule One do + @two %{} + @two[three] +end diff --git a/tests/org/elixir_lang/reference/callable/Issue659Test.java b/tests/org/elixir_lang/reference/callable/Issue659Test.java new file mode 100644 index 000000000..b255b3a7a --- /dev/null +++ b/tests/org/elixir_lang/reference/callable/Issue659Test.java @@ -0,0 +1,41 @@ +package org.elixir_lang.reference.callable; + +import com.intellij.psi.PsiElement; +import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; +import org.elixir_lang.psi.call.Call; + +import static org.elixir_lang.reference.Callable.isParameter; +import static org.elixir_lang.reference.Callable.isVariable; + +public class Issue659Test extends LightCodeInsightFixtureTestCase { + /* + * Tests + */ + + public void testIs() { + myFixture.configureByFiles("is.ex"); + PsiElement callable = myFixture + .getFile() + .findElementAt(myFixture.getCaretOffset()) + .getPrevSibling(); + + assertInstanceOf(callable, Call.class); + assertFalse( + "unresolvable no argument call in at bracket operation is incorrectly marked as a parameter", + isParameter(callable) + ); + assertFalse( + "unresolvable no argument call in at bracket operation is incorrectly marked as a variable", + isVariable(callable) + ); + } + + /* + * Protected Instance Methods + */ + + @Override + protected String getTestDataPath() { + return "testData/org/elixir_lang/reference/callable/issue_659"; + } +}