Emmet: fix tests

This commit is contained in:
Alexander Zolotov
2013-10-15 20:29:21 +04:00
parent d08ee7aa99
commit b148283a67
@@ -28,6 +28,7 @@ import com.intellij.codeInsight.template.emmet.tokens.TemplateToken;
import com.intellij.codeInsight.template.impl.TemplateImpl;
import com.intellij.injected.editor.DocumentWindowImpl;
import com.intellij.lang.xml.XMLLanguage;
import com.intellij.openapi.command.undo.UndoConstants;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileTypes.StdFileTypes;
@@ -35,6 +36,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.UserDataHolderBase;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiFileFactory;
@@ -273,7 +275,6 @@ public class GenerationNode extends UserDataHolderBase {
final XmlFile xmlFile = token.getFile();
PsiFileFactory fileFactory = PsiFileFactory.getInstance(xmlFile.getProject());
XmlFile dummyFile = (XmlFile)fileFactory.createFileFromText("dummy.xml", StdFileTypes.XML, xmlFile.getText());
final XmlTag tag = dummyFile.getRootTag();
if (tag != null) {
for (Pair<String, String> pair : attr2value) {
@@ -283,7 +284,13 @@ public class GenerationNode extends UserDataHolderBase {
}
XmlTag tag1 = hasChildren ? expandEmptyTagIfNeccessary(tag) : tag;
setAttributeValues(tag1, attr2value);
token.setFile((XmlFile)tag1.getContainingFile());
XmlFile physicalFile = (XmlFile)fileFactory.createFileFromText("dummy.xml", StdFileTypes.XML, tag1.getContainingFile().getText(),
LocalTimeCounter.currentTime(), true);
VirtualFile vFile = physicalFile.getVirtualFile();
if (vFile != null) {
vFile.putUserData(UndoConstants.DONT_RECORD_UNDO, Boolean.TRUE);
}
token.setFile(physicalFile);
}
ZenCodingGenerator zenCodingGenerator = generator != null ? generator : XmlZenCodingGeneratorImpl.INSTANCE;
template = zenCodingGenerator.generateTemplate(token, hasChildren, callback.getContext());