Misc: Add test for KT-7316

#KT-7316 Fixed
This commit is contained in:
Alexey Sedunov
2018-01-12 15:19:08 +03:00
parent 54f4f5ff24
commit 62580a47dc
6 changed files with 100 additions and 19 deletions
@@ -18,11 +18,15 @@
package org.jetbrains.kotlin.idea.test;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.impl.libraries.LibraryEx;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.util.io.FileUtilRt;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.idea.framework.JSLibraryKind;
import org.jetbrains.kotlin.idea.framework.KotlinSdkType;
import org.jetbrains.kotlin.test.MockLibraryUtil;
import org.jetbrains.kotlin.utils.PathUtil;
@@ -74,6 +78,9 @@ public class JdkAndMockLibraryProjectDescriptor extends KotlinLightProjectDescri
if (withRuntime && !isJsLibrary) {
libraryModel.addRoot(getJarUrl(PathUtil.getKotlinPathsForDistDirectory().getStdlibPath()), OrderRootType.CLASSES);
}
if (isJsLibrary && libraryModel instanceof LibraryEx.ModifiableModelEx) {
((LibraryEx.ModifiableModelEx) libraryModel).setKind(JSLibraryKind.INSTANCE);
}
if (withSources) {
libraryModel.addRoot(jarUrl + "src/", OrderRootType.SOURCES);
}
@@ -85,6 +92,11 @@ public class JdkAndMockLibraryProjectDescriptor extends KotlinLightProjectDescri
}
}
@Override
public Sdk getSdk() {
return isJsLibrary ? new KotlinSdkType().newSdk(KotlinSdkType.DEFAULT_SDK_NAME) : PluginTestCaseBase.mockJdk();
}
@NotNull
private static String getJarUrl(@NotNull File libraryJar) {
return "jar://" + FileUtilRt.toSystemIndependentName(libraryJar.getAbsolutePath()) + "!/";