package jetbrains.mps.lang.editor.menus.extras.tests;
/*Generated by MPS */
import jetbrains.mps.MPSLaunch;
import jetbrains.mps.lang.test.runtime.BaseTransformationTest;
import org.junit.Test;
import jetbrains.mps.lang.test.runtime.BaseEditorTestBody;
import jetbrains.mps.lang.editor.menus.tests.UsedLanguagesUtils;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import org.jetbrains.mps.openapi.module.SRepository;
import jetbrains.mps.lang.editor.menus.extras.runtime.AbstractIntentionMenuPart;
import jetbrains.mps.smodel.SNodePointer;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.openapi.editor.menus.transformation.TransformationMenuItem;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.openapi.editor.menus.transformation.TransformationMenuContext;
import jetbrains.mps.openapi.intentions.IntentionExecutable;
import jetbrains.mps.openapi.editor.menus.transformation.ActionItemBase;
import jetbrains.mps.nodeEditor.menus.transformation.DefaultTransformationMenuContext;
import junit.framework.Assert;
@MPSLaunch
public class InapplicableIntention_NotIncludedInMenu_Test extends BaseTransformationTest {
@Test
public void test_InapplicableIntention_NotIncludedInMenu() throws Throwable {
initTest("${mps_home}", "r:a1e8c439-e997-416b-a5dc-df7c3fd41b00(jetbrains.mps.lang.editor.menus.extras.tests@tests)");
runTest("jetbrains.mps.lang.editor.menus.extras.tests.InapplicableIntention_NotIncludedInMenu_Test$TestBody", "testMethod", false);
}
@MPSLaunch
public static class TestBody extends BaseEditorTestBody {
@Override
public void testMethodImpl() throws Exception {
initEditorComponent("6820996345401622145", "");
UsedLanguagesUtils.assertLanguageUsed(getEditorComponent(), MetaAdapterFactory.getLanguage(0xf015c5f872054441L, 0x9cc7dc7ef28ea903L, "jetbrains.mps.lang.editor.menus.extras.testLanguage"));
final SRepository repository = getEditorComponent().getEditorContext().getRepository();
repository.getModelAccess().runReadAction(new Runnable() {
public void run() {
AbstractIntentionMenuPart part = new AbstractIntentionMenuPart(ActionLookupUtils.getIntentionId(repository, new SNodePointer("r:8d2a217a-f2d0-4d4a-b867-e2dd2ddb731c(jetbrains.mps.lang.editor.menus.extras.testLanguage.intentions)", "6820996345401618935"))) {
@Nullable
@Override
protected TransformationMenuItem createItem(@NotNull TransformationMenuContext context, @NotNull IntentionExecutable executable) {
return new ActionItemBase();
}
};
DefaultTransformationMenuContext context = DefaultTransformationMenuContext.createInitialContextForCell(getEditorComponent().getSelectedCell(), "irrelevant location");
Assert.assertEquals(0, part.createItems(context).size());
}
});
}
}
}