[Gradle, JS] Add test for package.json deserializing
This commit is contained in:
+7
-3
@@ -42,9 +42,8 @@ internal class GradleNodeModuleBuilder(
|
||||
fun rebuild(): File? {
|
||||
if (files.isEmpty()) return null
|
||||
|
||||
val packageJson = srcPackageJsonFile?.reader()?.use {
|
||||
Gson().fromJson(it, PackageJson::class.java)
|
||||
} ?: PackageJson(dependency.moduleName, dependency.moduleVersion)
|
||||
val packageJson = fromSrcPackageJson(srcPackageJsonFile)
|
||||
?: PackageJson(dependency.moduleName, dependency.moduleVersion)
|
||||
|
||||
val jsFiles = files.filter { it.name.endsWith(".js") }
|
||||
if (jsFiles.size == 1) {
|
||||
@@ -65,6 +64,11 @@ internal class GradleNodeModuleBuilder(
|
||||
}
|
||||
}
|
||||
|
||||
internal fun fromSrcPackageJson(packageJson: File?): PackageJson? =
|
||||
packageJson?.reader()?.use {
|
||||
Gson().fromJson(it, PackageJson::class.java)
|
||||
}
|
||||
|
||||
private val File.isZip
|
||||
get() = isFile && (name.endsWith(".jar") || name.endsWith(".zip"))
|
||||
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.js.npm
|
||||
|
||||
import org.junit.Test
|
||||
import java.io.File
|
||||
import kotlin.test.assertNotNull
|
||||
|
||||
class GradleNodeModuleBuilderTest {
|
||||
@Test
|
||||
fun validPackageJsonWithoutDependencies() {
|
||||
val packageJson = fromSrcPackageJson(
|
||||
File("src/test/resources/org/jetbrains/kotlin/gradle/targets/js/npm/GradleNodeModuleBuilderTest/package.json")
|
||||
)
|
||||
assertNotNull(packageJson, "package.json should be deserialized")
|
||||
|
||||
with(packageJson!!) {
|
||||
listOf(
|
||||
dependencies,
|
||||
devDependencies,
|
||||
peerDependencies,
|
||||
optionalDependencies,
|
||||
bundledDependencies
|
||||
).forEach {
|
||||
assertNotNull(it, "Dependencies should deserialized correctly without null")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "npm",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
Reference in New Issue
Block a user