Fixed keyword completion tests.

This commit is contained in:
Evgeny Gerashchenko
2012-02-08 18:57:30 +04:00
parent 6fe52d15b4
commit f671e78dce
9 changed files with 55 additions and 48 deletions
@@ -73,7 +73,7 @@ public class JetTemplateInsertHandler implements InsertHandler<LookupElement> {
} }
public static LookupElementBuilder lookup(String template) { public static LookupElementBuilder lookup(String template) {
String presentation = template.replaceAll("<#<(\\w+)>#>", "..."); String presentation = template.replaceAll("<#<(\\w+)>#>", "...").replace("\n", "");
LookupElementBuilder builder = LookupElementBuilder.create(presentation).setBold(); LookupElementBuilder builder = LookupElementBuilder.create(presentation).setBold();
return builder.setInsertHandler(new JetTemplateInsertHandler(template)); return builder.setInsertHandler(new JetTemplateInsertHandler(template));
} }
@@ -122,7 +122,9 @@ public abstract class JetTemplateContextType extends TemplateContextType {
@Override @Override
protected boolean isInContext(@NotNull PsiElement element) { protected boolean isInContext(@NotNull PsiElement element) {
return element.getParent() instanceof JetExpression; return element.getParent() instanceof JetExpression && !(element.getParent() instanceof JetConstantExpression) &&
!(element.getParent().getParent() instanceof JetDotQualifiedExpression)
&& !(element.getParent() instanceof JetParameter);
} }
} }
} }
@@ -13,17 +13,17 @@ public class Test {
// ABSENT: break // ABSENT: break
// ABSENT: by // ABSENT: by
// ABSENT: catch // ABSENT: catch
// EXIST: class // EXIST: class ... {...}
// ABSENT: continue // ABSENT: continue
// ABSENT: default // ABSENT: default
// ABSENT: do // ABSENT: do
// ABSENT: else // ABSENT: else
// EXIST: enum // EXIST: enum class ... {...}
// ABSENT: false // ABSENT: false
// EXIST: final // EXIST: final
// ABSENT: finally // ABSENT: finally
// ABSENT: for // ABSENT: for
// EXIST: fun // EXIST: fun ...(...) : ... {...}
// EXIST: get // EXIST: get
// ABSENT: if // ABSENT: if
// ABSENT: import // ABSENT: import
@@ -47,12 +47,14 @@ public class Test {
// ABSENT: This // ABSENT: This
// ABSENT: this // ABSENT: this
// ABSENT: throw // ABSENT: throw
// EXIST: trait // EXIST: trait ... {...}
// ABSENT: true // ABSENT: true
// ABSENT: try // ABSENT: try
// EXIST: type // EXIST: type
// EXIST: val // EXIST: val ... : ... = ...
// EXIST: var // EXIST: val ... : ...get() {...}
// EXIST: var ... : ... = ...
// EXIST: var ... : ...get() {...}set(value) {...}
// ABSENT: vararg // ABSENT: vararg
// ABSENT: when // ABSENT: when
// ABSENT: where // ABSENT: where
@@ -8,17 +8,17 @@ class TestClass {
// ABSENT: break // ABSENT: break
// ABSENT: by // ABSENT: by
// ABSENT: catch // ABSENT: catch
// EXIST: class // EXIST: class ... {...}
// ABSENT: continue // ABSENT: continue
// ABSENT: default // ABSENT: default
// ABSENT: do // ABSENT: do
// ABSENT: else // ABSENT: else
// EXIST: enum // EXIST: enum class ... {...}
// ABSENT: false // ABSENT: false
// EXIST: final // EXIST: final
// ABSENT: finally // ABSENT: finally
// ABSENT: for // ABSENT: for
// EXIST: fun // EXIST: fun ...(...) : ... {...}
// EXIST: get // EXIST: get
// ABSENT: if // ABSENT: if
// ABSENT: import // ABSENT: import
@@ -42,12 +42,14 @@ class TestClass {
// ABSENT: This // ABSENT: This
// ABSENT: this // ABSENT: this
// ABSENT: throw // ABSENT: throw
// EXIST: trait // EXIST: trait ... {...}
// ABSENT: true // ABSENT: true
// ABSENT: try // ABSENT: try
// EXIST: type // EXIST: type
// EXIST: val // EXIST: val ... : ... = ...
// EXIST: var // EXIST: val ... : ...get() {...}
// EXIST: var ... : ... = ...
// EXIST: var ... : ...get() {...}set(value) {...}
// ABSENT: vararg // ABSENT: vararg
// ABSENT: when // ABSENT: when
// ABSENT: where // ABSENT: where
@@ -8,18 +8,18 @@ fun foo() {
// EXIST: break // EXIST: break
// EXIST: by // EXIST: by
// EXIST: catch // EXIST: catch
// EXIST: class // EXIST: class ... {...}
// EXIST: continue // EXIST: continue
// EXIST: do // EXIST: do {...} while (...)
// EXIST: else // EXIST: else
// EXIST: enum // EXIST: enum class ... {...}
// EXIST: false // EXIST: false
// ABSENT: final // ABSENT: final
// EXIST: finally // EXIST: finally
// EXIST: for // EXIST: for (... in ...) {...}
// EXIST: fun // EXIST: fun ...(...) : ... {...}
// EXIST: get // EXIST: get
// EXIST: if // EXIST: if (...) {...}
// ABSENT: import // ABSENT: import
// EXIST: in // EXIST: in
// EXIST: inline // EXIST: inline
@@ -40,13 +40,13 @@ fun foo() {
// EXIST: This // EXIST: This
// EXIST: this // EXIST: this
// EXIST: throw // EXIST: throw
// EXIST: trait // EXIST: trait ... {...}
// EXIST: true // EXIST: true
// EXIST: try // EXIST: try
// EXIST: type // EXIST: type
// EXIST: val // EXIST: val ... = ...
// EXIST: var // EXIST: var ... = ...
// EXIST: vararg // EXIST: vararg
// EXIST: when // EXIST: when (...) {... -> ...else -> ...}
// EXIST: where // EXIST: where
// EXIST: while // EXIST: while (...) {...}
@@ -2,7 +2,7 @@ var a : Int = <caret>
// EXIST: else // EXIST: else
// EXIST: false // EXIST: false
// EXIST: if // EXIST: if (...) ... else ...
// EXIST: null // EXIST: null
// EXIST: this // EXIST: this
// EXIST: true // EXIST: true
@@ -2,8 +2,8 @@ package Test
<caret> <caret>
// EXIST: enum // EXIST: enum class ... {...}
// EXIST: trait // EXIST: trait ... {...}
// EXIST: class // EXIST: class ... {...}
// EXIST: fun // EXIST: fun ...(...) : ... {...}
@@ -8,18 +8,18 @@ fun foo() {
// EXIST: break // EXIST: break
// EXIST: by // EXIST: by
// EXIST: catch // EXIST: catch
// EXIST: class // EXIST: class ... {...}
// EXIST: continue // EXIST: continue
// EXIST: do // EXIST: do {...} while (...)
// EXIST: else // EXIST: else
// EXIST: enum // EXIST: enum class ... {...}
// EXIST: false // EXIST: false
// ABSENT: final // ABSENT: final
// EXIST: finally // EXIST: finally
// EXIST: for // EXIST: for (... in ...) {...}
// EXIST: fun // EXIST: fun ...(...) : ... {...}
// EXIST: get // EXIST: get
// EXIST: if // EXIST: if (...) {...}
// ABSENT: import // ABSENT: import
// EXIST: in // EXIST: in
// EXIST: inline // EXIST: inline
@@ -40,13 +40,13 @@ fun foo() {
// EXIST: This // EXIST: This
// EXIST: this // EXIST: this
// EXIST: throw // EXIST: throw
// EXIST: trait // EXIST: trait ... {...}
// EXIST: true // EXIST: true
// EXIST: try // EXIST: try
// EXIST: type // EXIST: type
// EXIST: val // EXIST: val ... = ...
// EXIST: var // EXIST: var ... = ...
// EXIST: vararg // EXIST: vararg
// EXIST: when // EXIST: when (...) {... -> ...else -> ...}
// EXIST: where // EXIST: where
// EXIST: while // EXIST: while (...) {...}
@@ -6,17 +6,17 @@
// ABSENT: break // ABSENT: break
// ABSENT: by // ABSENT: by
// ABSENT: catch // ABSENT: catch
// EXIST: class // EXIST: class ... {...}
// ABSENT: continue // ABSENT: continue
// ABSENT: default // ABSENT: default
// ABSENT: do // ABSENT: do
// ABSENT: else // ABSENT: else
// EXIST: enum // EXIST: enum class ... {...}
// ABSENT: false // ABSENT: false
// EXIST: final // EXIST: final
// ABSENT: finally // ABSENT: finally
// ABSENT: for // ABSENT: for
// EXIST: fun // EXIST: fun ...(...) : ... {...}
// EXIST: get // EXIST: get
// ABSENT: if // ABSENT: if
// EXIST: import // EXIST: import
@@ -25,7 +25,6 @@
// EXIST: internal // EXIST: internal
// ABSENT: is // ABSENT: is
// ABSENT: null // ABSENT: null
// ABSENT: object
// EXIST: open // EXIST: open
// ABSENT: out // ABSENT: out
// ABSENT: override // ABSENT: override
@@ -40,12 +39,14 @@
// ABSENT: This // ABSENT: This
// ABSENT: this // ABSENT: this
// ABSENT: throw // ABSENT: throw
// EXIST: trait // EXIST: trait ... {...}
// ABSENT: true // ABSENT: true
// ABSENT: try // ABSENT: try
// EXIST: type // EXIST: type
// EXIST: val // EXIST: val ... : ... = ...
// EXIST: var // EXIST: val ... : ...get() {...}
// EXIST: var ... : ... = ...
// EXIST: var ... : ...get() {...}set(value) {...}
// ABSENT: vararg // ABSENT: vararg
// ABSENT: when // ABSENT: when
// ABSENT: where // ABSENT: where