intellij-platform-gradle-plugin
intellij-platform-gradle-plugin copied to clipboard
`Template not found: PHP Getter Method`
Describe the bug
When trying to test findUsages or inspections I get Template not found: PHP Getter Method
error.
This happens even if nothing from the custom plugin is registered in plugin.xml
The project was generated from JetBrains/intellij-platform-plugin-template:v1.2.0
ERROR: Template not found: PHP Getter Method
Template not found: PHP Getter Method
java.lang.IllegalStateException: Template not found: PHP Getter Method
at com.intellij.ide.fileTemplates.impl.FileTemplateManagerImpl.getTemplateFromManager(FileTemplateManagerImpl.java:287)
at com.intellij.ide.fileTemplates.impl.FileTemplateManagerImpl.getCodeTemplate(FileTemplateManagerImpl.java:269)
at com.jetbrains.php.lang.intentions.generators.PhpAccessorsGenerator.getPossibleAccessorMethodNames(PhpAccessorsGenerator.java:212)
at com.jetbrains.php.lang.intentions.generators.PhpAccessorsGenerator.findFieldAccessMethods(PhpAccessorsGenerator.java:242)
at com.jetbrains.php.lang.intentions.generators.PhpAccessorsGenerator.findGetters(PhpAccessorsGenerator.java:260)
at com.jetbrains.php.lang.findUsages.PhpFindUsagesHandlerFactory.findAccessors(PhpFindUsagesHandlerFactory.java:76)
at com.jetbrains.php.lang.findUsages.PhpFindUsagesHandlerFactory.createFindUsagesHandler(PhpFindUsagesHandlerFactory.java:61)
at com.intellij.find.findUsages.FindUsagesManager.getFindUsagesHandler(FindUsagesManager.java:161)
at com.intellij.find.findUsages.FindUsagesManager.findUsages(FindUsagesManager.java:193)
at com.intellij.find.impl.FindManagerImpl.findUsages(FindManagerImpl.java:923)
at com.intellij.find.impl.FindManagerImpl.findUsages(FindManagerImpl.java:913)
at com.intellij.find.actions.FindUsagesAction.startFindUsages(FindUsagesAction.java:70)
at com.intellij.find.actions.FindUsagesAction$1.handlePsi(FindUsagesAction.java:63)
at com.intellij.find.actions.PsiTargetVariant.handle(resolver.kt:72)
at com.intellij.find.actions.ResolverKt.findShowUsages(resolver.kt:50)
at com.intellij.find.actions.FindUsagesAction.actionPerformed(FindUsagesAction.java:49)
at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:315)
at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:294)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:337)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:294)
at com.intellij.testFramework.fixtures.EditorTestFixture.performEditorAction(EditorTestFixture.java:136)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.lambda$testFindUsagesUsingAction$17(CodeInsightTestFixtureImpl.java:912)
at com.intellij.testFramework.EdtTestUtil.runInEdtAndWait(EdtTestUtil.java:33)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.testFindUsagesUsingAction(CodeInsightTestFixtureImpl.java:912)
at com.github.ekvedaras.classfactoryphpstorm.DemoTestCase.testItFindsOneUsage(DemoTestCase.kt:7)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at junit.framework.TestCase.runTest(TestCase.java:176)
at com.intellij.testFramework.UsefulTestCase.lambda$runBare$11(UsefulTestCase.java:531)
at com.intellij.testFramework.UsefulTestCase.lambda$wrapTestRunnable$13(UsefulTestCase.java:552)
at com.intellij.testFramework.UsefulTestCase.runTestRunnable(UsefulTestCase.java:452)
at com.intellij.testFramework.fixtures.BasePlatformTestCase.runTestRunnable(BasePlatformTestCase.java:106)
at com.intellij.testFramework.UsefulTestCase.defaultRunBare(UsefulTestCase.java:468)
at com.intellij.testFramework.UsefulTestCase.lambda$runBare$12(UsefulTestCase.java:539)
at com.intellij.testFramework.EdtTestUtil.lambda$runInEdtAndWait$1(EdtTestUtil.java:40)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:393)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
To Reproduce
Run a test and call either myFixture.testFindUsagesUsingAction
or myFixture.enableInspections
.
Example test
package com.github.ekvedaras.classfactoryphpstorm
import com.intellij.testFramework.fixtures.BasePlatformTestCase
internal class DemoTestCase : BasePlatformTestCase() {
override fun getTestDataPath() = "src/test/testData/definition"
fun testItFindsOneUsage() {
val usages = myFixture.testFindUsagesUsingAction("filledDefinition.php")
assertEquals(1, usages.size)
}
}
Example file to run the test against filledDefinition.php
<?php
class Account {
public function __construct(
public readonly string <caret>$id,
public readonly int $age,
) {}
}
class AccountFactory extends ClassFactory {
protected string $class = Account::class;
protected function definition(): array
{
return [
'id' => 'abc',
'age' => 1,
];
}
}
Expected behavior
No error and test runs as expected.
Environment:
- OS:
macOS
- Gradle IntelliJ Plugin Version
1.8.0
,1.8.1
- Gradle Version
7.5.1
This is caused because of 9097348ac8ee4021031d240fd523d4f200a7a6bc which was required for fixing #1065 The issue is currently back under investigation – a minimal reproducible project for JaCoCo case was created: https://github.com/hsz/tests-classpath-issue
It seems fixed in 1.10.