package com.intellij.flex.maven; import com.intellij.lang.javascript.flex.FlexModuleType; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleType; import com.intellij.openapi.module.StdModuleTypes; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.idea.maven.MavenImportingTestCase; import java.util.concurrent.atomic.AtomicInteger; public class ImportingNonJavaModulesTest extends MavenImportingTestCase { public void testRecreatingNonJavaModules() throws Exception { Module m = createModule("flex-module", FlexModuleType.getInstance()); VirtualFile file = createModulePom("flex-module", "<groupId>test</groupId>" + "<artifactId>flex-project</artifactId>" + "<version>1</version>"); AtomicInteger counter = configConfirmationForYesAnswer(); importProject(file); assertEquals(1, counter.get()); assertTrue(m.isDisposed()); assertModules("flex-project"); assertEquals(StdModuleTypes.JAVA, ModuleType.get(getModule("flex-project"))); } public void testChangeJavaModuleToFlexModule() throws Exception { Module m = createModule("flex-module", StdModuleTypes.JAVA); VirtualFile file = createModulePom("flex-module", "<groupId>test</groupId>" + "<artifactId>flex-project</artifactId>" + "<version>1</version>" + "<packaging>swf</packaging>" + "<build>" + " <plugins>" + " <plugin>" + " <groupId>org.sonatype.flexmojos</groupId>" + " <artifactId>flexmojos-maven-plugin</artifactId>" + " <version>3.5.0</version>" + " <extensions>true</extensions>" + " </plugin>" + " </plugins>" + "</build>"); AtomicInteger counter = configConfirmationForYesAnswer(); importProject(file); assertEquals(1, counter.get()); assertTrue(m.isDisposed()); assertModules("flex-project"); assertEquals(FlexModuleType.getInstance(), ModuleType.get(getModule("flex-project"))); } public void testDoNotRecreateNonJavaModulesIfUserDoNotWantTo() throws Exception { Module m = createModule("flex-module", FlexModuleType.getInstance()); VirtualFile file = createModulePom("flex-module", "<groupId>test</groupId>" + "<artifactId>flex-project</artifactId>" + "<version>1</version>"); configConfirmationForNoAnswer(); importProject(file); assertFalse(m.isDisposed()); assertModules("flex-module"); assertSame(m, getModule("flex-module")); assertTrue(myProjectsManager.isIgnored(myProjectsManager.findProject(m))); } public void testDoNotAskToRecreateNonJavaModulesTwice() throws Exception { createModule("flex-module", FlexModuleType.getInstance()); VirtualFile file = createModulePom("flex-module", "<groupId>test</groupId>" + "<artifactId>flex-project</artifactId>" + "<version>1</version>"); AtomicInteger counter = configConfirmationForNoAnswer(); importProject(file); importProject(file); assertEquals(1, counter.get()); } }