avoid direct usage of ComponentManager.getExtensionArea() and Extensions.getRootArea() in tests

GitOrigin-RevId: def07ebd1908e9374bc97412a57a3e0e8b1da16b
This commit is contained in:
Vladimir Krivosheev
2019-08-28 07:42:12 +00:00
committed by intellij-monorepo-bot
parent bc5ab3ab70
commit f0ecabf47e
22 changed files with 86 additions and 193 deletions
@@ -7,12 +7,12 @@ import com.intellij.codeInsight.generation.OverrideImplementUtil
import com.intellij.codeInsight.generation.OverrideImplementsAnnotationsHandler
import com.intellij.idea.ActionsBundle
import com.intellij.openapi.actionSystem.Presentation
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.command.CommandProcessor
import com.intellij.openapi.extensions.Extensions
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiClass
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.testFramework.PlatformTestUtil
import com.intellij.testFramework.ServiceContainerUtil
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase
/**
@@ -273,7 +273,7 @@ class Test implements A {
void testCustomOverrideImplementsHandler() throws Exception {
myFixture.addClass """package a; public @interface A { String value();}"""
PlatformTestUtil.registerExtension(Extensions.getRootArea(), OverrideImplementsAnnotationsHandler.EP_NAME, new OverrideImplementsAnnotationsHandler() {
ServiceContainerUtil.registerExtension(ApplicationManager.application, OverrideImplementsAnnotationsHandler.EP_NAME, new OverrideImplementsAnnotationsHandler() {
@Override
String[] getAnnotations(Project project) {
return ["a.A"]
@@ -1,18 +1,4 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.java.codeInsight.daemon.quickFix;
import com.intellij.codeInsight.daemon.quickFix.LightQuickFixParameterizedTestCase;
@@ -20,8 +6,8 @@ import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.codeInspection.bulkOperation.BulkMethodInfo;
import com.intellij.codeInspection.bulkOperation.BulkMethodInfoProvider;
import com.intellij.codeInspection.bulkOperation.UseBulkOperationInspection;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.testFramework.ServiceContainerUtil;
import org.jetbrains.annotations.NotNull;
import java.util.stream.Stream;
@@ -50,7 +36,7 @@ public class UseBulkOperationInspectionTest extends LightQuickFixParameterizedTe
@Override
protected void setUp() throws Exception {
super.setUp();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), BulkMethodInfoProvider.KEY, TEST_PROVIDER, getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), BulkMethodInfoProvider.KEY, TEST_PROVIDER, getTestRootDisposable());
}
@Override
@@ -5,11 +5,11 @@ package com.intellij.java.codeInspection;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.daemon.ImplicitUsageProvider;
import com.intellij.codeInspection.nullable.NotNullFieldNotInitializedInspection;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiField;
import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
import org.jetbrains.annotations.NotNull;
@@ -26,7 +26,7 @@ public class NotNullFieldNotInitializedInspectionTest extends LightJavaCodeInsig
doTest();
}
public void testImplicit() {
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() {
@Override
public boolean isImplicitUsage(@NotNull PsiElement element) {
return false;
@@ -1,18 +1,4 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.java.codeInspection;
import com.intellij.JavaTestUtil;
@@ -22,13 +8,13 @@ import com.intellij.codeInspection.InspectionsBundle;
import com.intellij.codeInspection.reference.EntryPoint;
import com.intellij.codeInspection.reference.RefElement;
import com.intellij.codeInspection.unusedReturnValue.UnusedReturnValue;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
@@ -41,7 +27,7 @@ public class UnusedReturnValueQuickFixTest extends LightJavaCodeInsightFixtureTe
@Override
protected void setUp() throws Exception {
super.setUp();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() {
@Override
public boolean isImplicitUsage(@NotNull PsiElement element) {
return false;
@@ -57,7 +43,7 @@ public class UnusedReturnValueQuickFixTest extends LightJavaCodeInsightFixtureTe
return false;
}
}, getTestRootDisposable());
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPoint() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPoint() {
@Override
public void readExternal(Element element) throws InvalidDataException { }
@@ -6,8 +6,8 @@ import com.intellij.ToolExtensionPoints;
import com.intellij.codeInspection.reference.RefElement;
import com.intellij.codeInspection.visibility.EntryPointWithVisibilityLevel;
import com.intellij.codeInspection.visibility.VisibilityInspection;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiClass;
@@ -16,7 +16,7 @@ import com.intellij.psi.PsiMember;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.util.PsiUtil;
import com.intellij.testFramework.JavaInspectionTestCase;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
@@ -169,7 +169,7 @@ public class VisibilityInspectionTest extends JavaInspectionTestCase {
}
public void testEntryPointWithPredefinedVisibility() {
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPointWithVisibilityLevel() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPointWithVisibilityLevel() {
@Override
public void readExternal(Element element) throws InvalidDataException {}
@@ -5,8 +5,8 @@ import com.intellij.ide.fileTemplates.*
import com.intellij.ide.fileTemplates.impl.CustomFileTemplate
import com.intellij.ide.fileTemplates.impl.FTManager
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ex.PathManagerEx
import com.intellij.openapi.extensions.Extensions
import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.text.StringUtil
@@ -17,8 +17,8 @@ import com.intellij.psi.PsiClass
import com.intellij.psi.PsiDirectory
import com.intellij.psi.PsiManager
import com.intellij.testFramework.JavaProjectTestCase
import com.intellij.testFramework.PlatformTestUtil
import com.intellij.testFramework.PsiTestUtil
import com.intellij.testFramework.ServiceContainerUtil
import com.intellij.util.io.PathKt
import com.intellij.util.properties.EncodingAwareProperties
@@ -159,7 +159,7 @@ class FileTemplatesTest extends JavaProjectTestCase {
void testFileNameTrimming() {
CreateFromTemplateHandler handler = new DefaultCreateFromTemplateHandler()
PlatformTestUtil.registerExtension(Extensions.getRootArea(), CreateFromTemplateHandler.EP_NAME, handler, getTestRootDisposable())
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), CreateFromTemplateHandler.EP_NAME, handler, getTestRootDisposable())
FileTemplate template = FileTemplateManager.getInstance(getProject()).addTemplate(name, "txt")
disposeOnTearDown({ FileTemplateManager.getInstance(getProject()).removeTemplate(template) } as Disposable)
template.setText('${FILE_NAME}')
@@ -25,7 +25,6 @@ import com.intellij.openapi.editor.impl.DocumentMarkupModel;
import com.intellij.openapi.editor.markup.MarkupModel;
import com.intellij.openapi.editor.markup.RangeHighlighter;
import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Pair;
@@ -540,7 +539,7 @@ public class ConsoleViewImplTest extends LightPlatformTestCase {
}
public void testSubsequentFoldsAreCombined() {
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ConsoleFolding.EP_NAME, new ConsoleFolding() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ConsoleFolding.EP_NAME, new ConsoleFolding() {
@Override
public boolean shouldFoldLine(@NotNull Project project, @NotNull String line) {
return line.contains("FOO");
@@ -5,11 +5,10 @@ import com.intellij.ide.plugins.PluginManagerCore;
import com.intellij.ide.util.TipAndTrickBean;
import com.intellij.ide.util.TipUIUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.extensions.PluginId;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.testFramework.LightPlatformTestCase;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import org.jdom.Element;
public class ProductivityFeaturesTest extends LightPlatformTestCase {
@@ -23,12 +22,12 @@ public class ProductivityFeaturesTest extends LightPlatformTestCase {
((ProductivityFeaturesRegistryImpl)myRegistry).prepareForTest();
myTracker = FeatureUsageTracker.getInstance();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ProductivityFeaturesProvider.EP_NAME, new TestProductivityFeatureProvider(), getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ProductivityFeaturesProvider.EP_NAME, new TestProductivityFeatureProvider(), getTestRootDisposable());
TipAndTrickBean tip = new TipAndTrickBean();
tip.fileName = "TestTip.html";
tip.setPluginDescriptor(PluginManagerCore.getPlugin(PluginId.getId(PluginManagerCore.CORE_PLUGIN_ID)));
PlatformTestUtil.registerExtension(Extensions.getRootArea(), TipAndTrickBean.EP_NAME, tip, getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), TipAndTrickBean.EP_NAME, tip, getTestRootDisposable());
}
@Override
@@ -6,8 +6,8 @@ import com.intellij.internal.statistic.eventLog.FeatureUsageData
import com.intellij.internal.statistic.eventLog.validator.ValidationResultType
import com.intellij.internal.statistic.eventLog.validator.rules.EventContext
import com.intellij.internal.statistic.eventLog.validator.rules.impl.CustomWhiteListRule
import com.intellij.openapi.extensions.Extensions
import com.intellij.testFramework.PlatformTestUtil
import com.intellij.openapi.application.ApplicationManager
import com.intellij.testFramework.registerExtension
import junit.framework.TestCase
import org.junit.Test
@@ -21,8 +21,7 @@ class ProductivityValidatorTest : ProductivityFeaturesTest() {
override fun setUp() {
super.setUp()
PlatformTestUtil.registerExtension(
Extensions.getRootArea(),
ApplicationManager.getApplication().registerExtension(
ProductivityFeaturesProvider.EP_NAME, TestProductivityFeatureProvider(),
testRootDisposable
)
@@ -9,7 +9,7 @@ import com.intellij.openapi.extensions.impl.ExtensionsAreaImpl
import com.intellij.openapi.util.Disposer
import com.intellij.openapi.util.JDOMUtil
import com.intellij.testFramework.LightPlatformTestCase
import com.intellij.testFramework.PlatformTestUtil
import com.intellij.testFramework.ServiceContainerUtil
import groovy.transform.CompileStatic
@CompileStatic
@@ -27,7 +27,7 @@ class LanguageExtensionOrderTest extends LightPlatformTestCase {
}
private void registerMetaLanguage() {
PlatformTestUtil.registerExtension myArea, MetaLanguage.EP_NAME, MyMetaLanguage.INSTANCE, testRootDisposable
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), MetaLanguage.EP_NAME, MyMetaLanguage.INSTANCE, testRootDisposable)
}
private void registerLanguageEP() {
@@ -28,6 +28,7 @@ import com.intellij.openapi.vfs.WritingAccessProvider;
import com.intellij.testFramework.EditorTestUtil;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.ui.EditorNotifications;
import com.intellij.ui.EditorNotificationsImpl;
import com.intellij.util.NullableFunction;
@@ -317,7 +318,7 @@ public class NonProjectFileAccessTest extends HeavyFileEditorManagerTestCase {
private Set<VirtualFile> registerWriteAccessProvider(final VirtualFile... filesToDeny) {
final Set<VirtualFile> requested = new LinkedHashSet<>();
PlatformTestUtil.registerExtension(getProject().getExtensionArea(), WritingAccessProvider.EP_NAME, new WritingAccessProvider() {
ServiceContainerUtil.registerExtension(getProject(), WritingAccessProvider.EP_NAME, new WritingAccessProvider() {
@NotNull
@Override
public Collection<VirtualFile> requestWriting(@NotNull Collection<? extends VirtualFile> files) {
@@ -331,7 +332,7 @@ public class NonProjectFileAccessTest extends HeavyFileEditorManagerTestCase {
}
private void registerAccessCheckExtension(Collection<VirtualFile> filesToAllow, Collection<VirtualFile> filesToDeny) {
PlatformTestUtil.registerExtension(getProject().getExtensionArea(), NonProjectFileWritingAccessExtension.EP_NAME,
ServiceContainerUtil.registerExtension(getProject(), NonProjectFileWritingAccessExtension.EP_NAME,
new NonProjectFileWritingAccessExtension() {
@Override
public boolean isWritable(@NotNull VirtualFile file) {
+10 -5
View File
@@ -1,16 +1,21 @@
This document is a more like a draft, that will be finally moved to [IntelliJ Platform SDK](https://www.jetbrains.org/intellij/sdk/docs/welcome.html)
This document is a more like a draft, that will be finally moved to [IntelliJ Platform SDK](https://www.jetbrains.org/intellij/sdk/docs/welcome.html)
## Light Service
## Service
[Service](http://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_services.html) that is not going to be overridden. No need to register it in a `plugin.xml`.
Please see [Service](https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_services.html).
To replace (mock) service in tests, use [ServiceContainerUtil](https://github.com/JetBrains/intellij-community/blob/master/platform/testFramework/src/com/intellij/testFramework/ServiceContainerUtil.kt).
### Light Service
Service that is not going to be overridden. No need to register it in a `plugin.xml`.
To register: annotate class using [@Service](https://github.com/JetBrains/intellij-community/blob/master/platform/core-api/src/com/intellij/openapi/components/Service.java) annotation. If service is written in Java and not Kotlin, mark class as `final`.
Restrictions:
* not available for constructor injection (but in any case constructor injection is deprecated, because service should be requested only on demand).
* constructor injection is not supported (since it is deprecated), but project level service can define constructor that accepts `Project`, and module level `Module`.
* if service it is a [PersistentStateComponent](http://www.jetbrains.org/intellij/sdk/docs/basics/persisting_state_of_components.html), roaming must be disabled (`roamingType` is set to `RoamingType.DISABLED`).
* if service it is a [PersistentStateComponent](https://www.jetbrains.org/intellij/sdk/docs/basics/persisting_state_of_components.html), roaming must be disabled (`roamingType` is set to `RoamingType.DISABLED`).
* service class must be `final`.
## Preloading Activity
@@ -57,7 +57,7 @@ public abstract class PlatformLiteFixture extends UsefulTestCase {
public <T> void registerExtension(@NotNull ExtensionsArea area, @NotNull ExtensionPointName<T> name, @NotNull T extension) {
//noinspection unchecked
registerExtensionPoint(area, name, (Class<T>)extension.getClass());
PlatformTestUtil.registerExtension(area, name, extension, getTestRootDisposable());
area.<T>getExtensionPoint(name.getName()).registerExtension(extension, getTestRootDisposable());
}
protected <T> void registerExtensionPoint(@NotNull ExtensionPointName<T> extensionPointName, @NotNull Class<T> aClass) {
@@ -25,7 +25,7 @@ import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.impl.ApplicationImpl;
import com.intellij.openapi.application.impl.LaterInvocator;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.extensions.*;
import com.intellij.openapi.extensions.ProjectExtensionPointName;
import com.intellij.openapi.extensions.impl.ExtensionPointImpl;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.impl.LoadTextUtil;
@@ -141,21 +141,6 @@ public class PlatformTestUtil {
((ExtensionPointImpl<T>)pointName.getPoint(project)).maskAll(newExtensions, parentDisposable, true);
}
/**
* @deprecated Use {@link ExtensionPointName#getPoint(AreaInstance)} and {@link ExtensionPoint#registerExtension(Object, Disposable)}.
*/
@Deprecated
public static <T> void registerExtension(@NotNull ExtensionPointName<T> name, @NotNull T t, @NotNull Disposable parentDisposable) {
registerExtension(Extensions.getRootArea(), name, t, parentDisposable);
}
public static <T> void registerExtension(@NotNull ExtensionsArea area,
@NotNull BaseExtensionPointName name,
@NotNull T t,
@NotNull Disposable parentDisposable) {
area.<T>getExtensionPoint(name.getName()).registerExtension(t, parentDisposable);
}
@Nullable
public static String toString(@Nullable Object node, @Nullable Queryable.PrintInfo printInfo) {
if (node instanceof AbstractTreeNode) {
@@ -4,13 +4,22 @@ package com.intellij.testFramework
import com.intellij.openapi.Disposable
import com.intellij.openapi.components.ComponentManager
import com.intellij.openapi.extensions.BaseExtensionPointName
import com.intellij.openapi.extensions.DefaultPluginDescriptor
import com.intellij.serviceContainer.PlatformComponentManagerImpl
import org.jetbrains.annotations.TestOnly
@TestOnly
fun <T : Any> ComponentManager.registerServiceInstance(serviceInterface: Class<T>, instance: T) {
(this as PlatformComponentManagerImpl).registerServiceInstance(serviceInterface, instance, DefaultPluginDescriptor("test"))
}
@TestOnly
fun <T : Any> ComponentManager.replaceService(serviceInterface: Class<T>, instance: T, parentDisposable: Disposable) {
(this as PlatformComponentManagerImpl).replaceServiceInstance(serviceInterface, instance, parentDisposable)
}
@TestOnly
fun <T> ComponentManager.registerExtension(name: BaseExtensionPointName, instance: T, parentDisposable: Disposable) {
extensionArea.getExtensionPoint<T>(name.name).registerExtension(instance, parentDisposable)
}
@@ -1,31 +1,17 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.codeInspection.visibility;
import com.intellij.ToolExtensionPoints;
import com.intellij.codeInsight.daemon.ImplicitUsageProvider;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.codeInspection.reference.RefElement;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiUtil;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.siyeh.ig.LightJavaInspectionTestCase;
import org.intellij.lang.annotations.Language;
import org.jdom.Element;
@@ -161,7 +147,7 @@ public class AccessCanBeTightenedInspectionTest extends LightJavaInspectionTestC
myFixture.configureByFiles("y/C.java","x/Sub.java");
myFixture.checkHighlighting();
}
public void testQualifiedAccessFromSubclassSamePackage() {
myFixture.allowTreeAccessForAllFiles();
addJavaFile("x/Sub.java", "package x; " +
@@ -336,7 +322,7 @@ public class AccessCanBeTightenedInspectionTest extends LightJavaInspectionTestC
"public class MyTest {\n" +
" <warning descr=\"Access can be protected\">public</warning> void foo() {}\n" +
"}");
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPointWithVisibilityLevel() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPointWithVisibilityLevel() {
@Override
public void readExternal(Element element) throws InvalidDataException {}
@@ -392,7 +378,7 @@ public class AccessCanBeTightenedInspectionTest extends LightJavaInspectionTestC
" <warning descr=\"Access can be protected\">public</warning> void foo() {}\n" +
" {foo();}\n" +
"}");
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPointWithVisibilityLevel() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ExtensionPointName.create(ToolExtensionPoints.DEAD_CODE_TOOL), new EntryPointWithVisibilityLevel() {
@Override
public void readExternal(Element element) throws InvalidDataException {}
@@ -445,10 +431,10 @@ public class AccessCanBeTightenedInspectionTest extends LightJavaInspectionTestC
public void testSuggestPackagePrivateForImplicitWrittenFields() {
addJavaFile("x/MyTest.java", "package x;\n" +
"public class MyTest {\n" +
" String foo;\n" +
" {System.out.println(foo);}" +
" String foo;\n" +
" {System.out.println(foo);}" +
"}");
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() {
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ImplicitUsageProvider.EP_NAME, new ImplicitUsageProvider() {
@Override
public boolean isImplicitUsage(@NotNull PsiElement element) {
return false;
@@ -4,11 +4,12 @@ package com.siyeh.ig.bugs;
import com.intellij.ToolExtensionPoints;
import com.intellij.codeInsight.daemon.ImplicitUsageProvider;
import com.intellij.codeInspection.InspectionProfileEntry;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiField;
import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.siyeh.ig.LightJavaInspectionTestCase;
import org.jetbrains.annotations.NotNull;
@@ -34,7 +35,7 @@ public class MismatchedCollectionQueryUpdateInspectionTest extends LightJavaInsp
@Override
protected void setUp() throws Exception {
super.setUp();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitUsageProvider.EP_NAME, TEST_PROVIDER, myFixture.getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ImplicitUsageProvider.EP_NAME, TEST_PROVIDER, myFixture.getTestRootDisposable());
Extensions.getRootArea().getExtensionPoint(ToolExtensionPoints.DEAD_CODE_TOOL).getExtensions();
}
@@ -1,13 +1,11 @@
/*
* Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.siyeh.ig.resources;
import com.intellij.codeInspection.resources.ImplicitResourceCloser;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.codeInspection.resources.ImplicitResourceCloser;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.psi.PsiVariable;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.siyeh.ig.LightJavaInspectionTestCase;
import org.jetbrains.annotations.NotNull;
@@ -33,13 +31,11 @@ public class ImplicitCloserTest extends LightJavaInspectionTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), ImplicitResourceCloser.EP_NAME, NAME_RESOURCE_CLOSER, getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), ImplicitResourceCloser.EP_NAME, NAME_RESOURCE_CLOSER, getTestRootDisposable());
}
@Override
protected LocalInspectionTool getInspection() {
return new AutoCloseableResourceInspection();
}
}
@@ -1,26 +1,12 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.python.quickFixes;
import com.intellij.lang.injection.InjectedLanguageManager;
import com.intellij.lang.injection.MultiHostInjector;
import com.intellij.lang.injection.MultiHostRegistrar;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.TextRange;
@@ -29,7 +15,7 @@ import com.intellij.psi.PsiLanguageInjectionHost;
import com.intellij.psi.codeStyle.SuggestedNameInfo;
import com.intellij.refactoring.rename.NameSuggestionProvider;
import com.intellij.refactoring.rename.PreferrableNameSuggestionProvider;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.testFramework.TestDataPath;
import com.intellij.util.containers.ContainerUtil;
import com.jetbrains.python.PyBundle;
@@ -65,8 +51,7 @@ public class PyRenameElementQuickFixTest extends PyQuickFixTestCase {
* @see PyRenameElementQuickFixTest.RENAME_RESULT_BY_RENAME_HANDLER
*/
public static void registerTestNameSuggestionProvider(Disposable disposable) {
PlatformTestUtil.registerExtension(
Extensions.getRootArea(), NameSuggestionProvider.EP_NAME, createTestNameSuggestionProvider(), disposable);
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), NameSuggestionProvider.EP_NAME, createTestNameSuggestionProvider(), disposable);
}
/**
@@ -1,28 +1,13 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.util.xml;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.xml.XmlFile;
import com.intellij.psi.xml.XmlTag;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.testFramework.Timings;
import com.intellij.util.ConcurrencyUtil;
import com.intellij.util.containers.ContainerUtil;
@@ -41,12 +26,11 @@ import java.util.concurrent.CountDownLatch;
* @author peter
*/
public class DomConcurrencyStressTest extends DomTestCase {
private void registerExtender(final Class elementClass, final Class extenderClass) {
final DomExtenderEP extenderEP = new DomExtenderEP();
extenderEP.domClassName = elementClass.getName();
extenderEP.extenderClassName = extenderClass.getName();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), DomExtenderEP.EP_NAME, extenderEP, getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), DomExtenderEP.EP_NAME, extenderEP, getTestRootDisposable());
}
private static void runThreads(int threadCount, final Runnable runnable) throws Throwable {
@@ -1,23 +1,9 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.util.xml;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.util.Key;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.util.ParameterizedTypeImpl;
import com.intellij.util.ReflectionUtil;
import com.intellij.util.xml.impl.DomTestCase;
@@ -190,7 +176,7 @@ public class DomExtensionsTest extends DomTestCase {
final DomExtenderEP extenderEP = new DomExtenderEP();
extenderEP.domClassName = domClass.getName();
extenderEP.extenderClassName = extenderClass.getName();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), DomExtenderEP.EP_NAME, extenderEP, getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), DomExtenderEP.EP_NAME, extenderEP, getTestRootDisposable());
}
@@ -1,21 +1,7 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.util.xml.stubs;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.psi.impl.PsiManagerEx;
@@ -25,7 +11,7 @@ import com.intellij.psi.stubs.Stub;
import com.intellij.psi.stubs.StubTreeLoader;
import com.intellij.psi.xml.XmlFile;
import com.intellij.psi.xml.XmlTag;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.ServiceContainerUtil;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ref.GCWatcher;
import com.intellij.util.xml.DomFileElement;
@@ -86,7 +72,7 @@ public class DomStubBuilderTest extends DomStubTest {
DomExtenderEP ep = new DomExtenderEP();
ep.domClassName = Bar.class.getName();
ep.extenderClassName = TestExtender.class.getName();
PlatformTestUtil.registerExtension(Extensions.getRootArea(), DomExtenderEP.EP_NAME, ep, myFixture.getTestRootDisposable());
ServiceContainerUtil.registerExtension(ApplicationManager.getApplication(), DomExtenderEP.EP_NAME, ep, myFixture.getTestRootDisposable());
doBuilderTest("extender.xml", "File:foo\n" +
" Element:foo\n" +