From d3843e7688687ea0987c0fb9cf48f7f595bd95eb Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Mon, 1 Feb 2016 14:03:45 +0300 Subject: [PATCH] IDEA-150753 Make 'Collapse empty tag' quick fix available for tags with whitespace contents --- .../codeInsight/daemon/quickFix/CollapseTagTest.java | 5 +++++ .../src/com/intellij/xml/util/CollapseTagIntention.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/CollapseTagTest.java b/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/CollapseTagTest.java index d66367c9960e..2ab23f56cb3a 100644 --- a/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/CollapseTagTest.java +++ b/xml/tests/src/com/intellij/codeInsight/daemon/quickFix/CollapseTagTest.java @@ -34,4 +34,9 @@ public class CollapseTagTest extends LightPlatformCodeInsightFixtureTestCase{ PsiFile file = myFixture.configureByText(XmlFileType.INSTANCE, " "); assertFalse(new CollapseTagIntention().isAvailable(getProject(), myFixture.getEditor(), file)); } + + public void testAlreadyCollapsed() throws Exception { + PsiFile file = myFixture.configureByText(XmlFileType.INSTANCE, ""); + assertFalse(new CollapseTagIntention().isAvailable(getProject(), myFixture.getEditor(), file)); + } } diff --git a/xml/xml-analysis-impl/src/com/intellij/xml/util/CollapseTagIntention.java b/xml/xml-analysis-impl/src/com/intellij/xml/util/CollapseTagIntention.java index 4d5f081d746c..c4a6e906c476 100644 --- a/xml/xml-analysis-impl/src/com/intellij/xml/util/CollapseTagIntention.java +++ b/xml/xml-analysis-impl/src/com/intellij/xml/util/CollapseTagIntention.java @@ -72,7 +72,7 @@ public class CollapseTagIntention implements LocalQuickFix, IntentionAction { @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { XmlTag tag = getTag(editor, file); - return tag != null && tag.getSubTags().length == 0 && tag.getValue().getTrimmedText().isEmpty(); + return tag != null && !tag.isEmpty() && tag.getSubTags().length == 0 && tag.getValue().getTrimmedText().isEmpty(); } @Override