package org.jetbrains.plugins.cucumber.psi.refactoring; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.cucumber.psi.*; public class GherkinChangeUtil { @NotNull public static GherkinStep createStep(final String text, final Project project) { final GherkinFile dummyFile = createDummyFile(project, "Feature: Dummy\n" + " Scenario: Dummy\n" + " " + text ); final PsiElement feature = dummyFile.getFirstChild(); assert feature != null; final GherkinScenario scenario = PsiTreeUtil.getChildOfType(feature, GherkinScenario.class); assert scenario != null; final GherkinStep element = PsiTreeUtil.getChildOfType(scenario, GherkinStep.class); assert element != null; return element; } public static GherkinFile createDummyFile(Project project, String text) { final String fileName = "dummy." + GherkinFileType.INSTANCE.getDefaultExtension(); return (GherkinFile)PsiFileFactory.getInstance(project).createFileFromText(fileName, GherkinLanguage.INSTANCE, text); } }