Skip to content

Commit bbddb9d

Browse files
authored
Merge pull request #12 from cawolf/fixes-8-object-prophecy
Fixes #8: add ObjectProphecy doc
2 parents 9eca1cc + e582d9c commit bbddb9d

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

src/main/kotlin/de/cawolf/quickmock/intention/QuickMockCreator.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ class QuickMockCreator : PsiElementBaseIntentionAction(), IntentionAction {
5555

5656
// actually create mocks
5757
var currentAnchor = beginningOfClass
58+
addMissingUseStatements.invoke(namespace, "\\Prophecy\\Prophecy\\ObjectProphecy")
5859
for (parameter in parameters) {
59-
addMissingUseStatements.invoke(namespace, parameter)
60+
addMissingUseStatements.invoke(namespace, parameter.type.toString())
6061
addMockAssignment.invoke(project, constructStatement, parameter)
6162

6263
if (!PRIMITIVES_NOT_TO_ADD_OR_MOCK.contains(parameter.type.toString())) {

src/main/kotlin/de/cawolf/quickmock/intention/service/AddMissingUseStatements.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@ package de.cawolf.quickmock.intention.service
22

33
import com.intellij.psi.PsiElement
44
import com.jetbrains.php.codeInsight.PhpCodeInsightUtil
5-
import com.jetbrains.php.lang.psi.elements.Parameter
65
import com.jetbrains.php.refactoring.PhpAliasImporter
76
import de.cawolf.quickmock.intention.PRIMITIVES_NOT_TO_USE
87

98
class AddMissingUseStatements {
10-
fun invoke(namespace: PsiElement, parameter: Parameter) {
11-
if (PRIMITIVES_NOT_TO_USE.contains(parameter.type.toString())) return
9+
fun invoke(namespace: PsiElement, fqcn: String) {
10+
if (PRIMITIVES_NOT_TO_USE.contains(fqcn)) return
1211

13-
val interfaceFqn = parameter.type.toString()
1412
val scopeHolder = PhpCodeInsightUtil.findScopeForUseOperator(namespace)
15-
if (scopeHolder != null && PhpCodeInsightUtil.alreadyImported(scopeHolder, interfaceFqn) == null && PhpCodeInsightUtil.canImport(scopeHolder, interfaceFqn)) {
16-
PhpAliasImporter.insertUseStatement(interfaceFqn, scopeHolder)
13+
if (scopeHolder != null && PhpCodeInsightUtil.alreadyImported(scopeHolder, fqcn) == null && PhpCodeInsightUtil.canImport(scopeHolder, fqcn)) {
14+
PhpAliasImporter.insertUseStatement(fqcn, scopeHolder)
1715
}
1816
}
1917
}

src/main/kotlin/de/cawolf/quickmock/intention/service/AddProperty.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class AddProperty {
1313
val docCommentType = IElementType.enumerate { it -> it.toString() == "PhpDocComment" }.first()
1414

1515
val field = PhpPsiElementFactory.createFromText(project, classFieldsType, "class C { private \$${parameter.name}; }")
16-
val docBlock = PhpPsiElementFactory.createFromText(project, docCommentType, "/** @var ${parameter.node.firstChildNode.text} */\n\$foo = null;")
16+
val docBlock = PhpPsiElementFactory.createFromText(project, docCommentType, "/** @var ${parameter.node.firstChildNode.text}|ObjectProphecy */\n\$foo = null;")
1717

1818
val docBlockAnchor = clazz.addAfter(docBlock, currentAnchor)
1919
return clazz.addAfter(field, docBlockAnchor)

0 commit comments

Comments
 (0)