From 195b2dd048f25d53572e121f6c70e5f37850a1fc Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 29 Dec 2015 13:47:23 +0300 Subject: [PATCH] IDEA-149752 IJ does not fetch schema --- .../daemon/quickFix/RealFetchTest.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/RealFetchTest.java b/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/RealFetchTest.java index c173bc304249..91c0747df9dd 100644 --- a/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/RealFetchTest.java +++ b/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/RealFetchTest.java @@ -15,13 +15,17 @@ */ package com.intellij.codeInsight.daemon.quickFix; +import com.intellij.codeInsight.daemon.impl.HighlightInfo; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.ide.highlighter.XmlFileType; import com.intellij.javaee.ExternalResourceManager; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase; import com.intellij.xml.XmlBundle; +import java.util.List; + /** * @author Dmitry Avdeev */ @@ -36,10 +40,28 @@ public class RealFetchTest extends LightPlatformCodeInsightFixtureTestCase { assertNotNull(intention); intention.invoke(getProject(), myFixture.getEditor(), myFixture.getFile()); assertNotSame(url, ExternalResourceManager.getInstance().getResourceLocation(url, getProject())); - ApplicationManager.getApplication().runWriteAction(new Runnable() { - public void run() { - ExternalResourceManager.getInstance().removeResource(url); - } + ApplicationManager.getApplication().runWriteAction(() -> { + ExternalResourceManager.getInstance().removeResource(url); + }); + } + + public void testOverwriteFetchDtd() throws Exception { + + final String url = "http://helpserver.labs.intellij.net/help/images.dtd"; + VirtualFile virtualFile = myFixture.getTempDirFixture().createFile("images.dtd", ""); + ApplicationManager.getApplication().runWriteAction(() -> { + ExternalResourceManager.getInstance().addResource(url, virtualFile.getPath()); + }); + + myFixture.configureByText(XmlFileType.INSTANCE, "http://helpserver.labs.intellij.net/help/images.dtd\"> "); + myFixture.testHighlighting(); + IntentionAction intention = myFixture.getAvailableIntention(XmlBundle.message("fetch.external.resource")); + assertNotNull(intention); + intention.invoke(getProject(), myFixture.getEditor(), myFixture.getFile()); + List infos = myFixture.doHighlighting(); + assertEmpty(infos); + ApplicationManager.getApplication().runWriteAction(() -> { + ExternalResourceManager.getInstance().removeResource(url); }); }