EA-117772 - assert: DefaultXmlPsiPolicy.encodeXmlTextContents

This commit is contained in:
Dmitry Avdeev
2018-10-22 20:26:37 +03:00
parent 9547475523
commit dce504b013
2 changed files with 12 additions and 0 deletions
@@ -3,6 +3,7 @@ package com.intellij.xml;
import com.intellij.psi.XmlElementFactory;
import com.intellij.psi.xml.XmlTag;
import com.intellij.psi.xml.XmlText;
import com.intellij.testFramework.PsiTestCase;
public class XmlModificationsTest extends PsiTestCase {
@@ -42,4 +43,12 @@ public class XmlModificationsTest extends PsiTestCase {
tag.add(tag.createChildTag("b", "", null, false));
assertEquals("<a><b/></a>", tag.getText());
}
public void testSetText() {
final XmlTag tag = myFactory.createTagFromText("<a>foo</a>");
XmlText[] elements = tag.getValue().getTextElements();
assertEquals(1, elements.length);
elements[0].setValue("");
assertEquals("<a></a>", tag.getText());
}
}
@@ -36,6 +36,9 @@ public class DefaultXmlPsiPolicy implements XmlPsiPolicy{
@Override
public ASTNode encodeXmlTextContents(String displayText, PsiElement text) {
if (displayText.isEmpty()) {
return null;
}
CharTable charTable = SharedImplUtil.findCharTableByTree(text.getNode());
final FileElement dummyParent = DummyHolderFactory.createHolder(text.getManager(), null, charTable).getTreeElement();
final XmlTag rootTag =