[Parcelize] Add test for parcelize in multiplatform setting.

This tests that classes in common code can have code generated
for them in android compilations.
This commit is contained in:
Mads Ager
2024-03-04 15:37:13 +01:00
committed by Space Cloud
parent fa0d456850
commit b0bc017a16
13 changed files with 133 additions and 16 deletions
@@ -5,8 +5,10 @@
package org.jetbrains.kotlin.wasm.test
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
import org.jetbrains.kotlin.test.directives.WasmEnvironmentConfigurationDirectives
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
import org.jetbrains.kotlin.test.model.TestFile
import org.jetbrains.kotlin.test.model.TestModule
@@ -24,7 +26,12 @@ class WasmWasiBoxTestHelperSourceProvider(testServices: TestServices) : Addition
class WasmAdditionalSourceProvider(testServices: TestServices) : AdditionalSourceProvider(testServices) {
override fun produceAdditionalFiles(globalDirectives: RegisteredDirectives, module: TestModule): List<TestFile> {
if (JsEnvironmentConfigurationDirectives.NO_COMMON_FILES in module.directives) return emptyList()
if (WasmEnvironmentConfigurationDirectives.NO_COMMON_FILES in module.directives) return emptyList()
// For multiplatform projects, add the files only to common modules with no dependencies.
if (module.languageVersionSettings.supportsFeature(LanguageFeature.MultiPlatformProjects) &&
module.allDependencies.isNotEmpty()) {
return emptyList()
}
return getAdditionalKotlinFiles(module.files.first().originalFile.parent).map { it.toTestFile() }
}