summaryrefslogtreecommitdiff
path: root/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt')
-rw-r--r--formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt27
1 files changed, 25 insertions, 2 deletions
diff --git a/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt b/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt
index 7b075a4e..f2a44234 100644
--- a/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt
+++ b/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/schema/GenerationTest.kt
@@ -25,6 +25,7 @@ internal val commonClasses = listOf(
GenerationTest.LegacyMapHolder::class,
GenerationTest.NullableNestedCollections::class,
GenerationTest.OptionalCollections::class,
+ GenerationTest.EnumWithProtoNumber::class,
)
class GenerationTest {
@@ -60,7 +61,7 @@ class GenerationTest {
@ProtoNumber(5)
val b: Int,
@ProtoNumber(3)
- val c: Int
+ val c: UInt,
)
@Serializable
@@ -83,6 +84,10 @@ class GenerationTest {
@Serializable
data class OptionsClass(val i: Int)
+ @JvmInline
+ @Serializable
+ value class WrappedUInt(val i : UInt)
+
@Serializable
class ListClass(
val intList: List<Int>,
@@ -112,9 +117,17 @@ class GenerationTest {
@Serializable
data class OptionalClass(
val requiredInt: Int,
+ val requiredUInt: UInt,
+ val requiredWrappedUInt: WrappedUInt,
val optionalInt: Int = 5,
+ val optionalUInt: UInt = 5U,
+ val optionalWrappedUInt: WrappedUInt = WrappedUInt(5U),
val nullableInt: Int?,
- val nullableOptionalInt: Int? = 10
+ val nullableUInt: UInt?,
+ val nullableWrappedUInt: WrappedUInt?,
+ val nullableOptionalInt: Int? = 10,
+ val nullableOptionalUInt: UInt? = 10U,
+ val nullableOptionalWrappedUInt: WrappedUInt? = WrappedUInt(10U),
)
@Serializable
@@ -180,6 +193,16 @@ class GenerationTest {
val legacyMap: Map<List<Int>?, List<Int>?>
)
+ @Serializable
+ enum class EnumWithProtoNumber {
+ ZERO,
+ @ProtoNumber(3)
+ THREE,
+ TWO,
+ @ProtoNumber(5)
+ FIVE,
+ }
+
@Test
fun testIndividuals() {
assertSchemaForClass(OptionsClass::class, mapOf("java_package" to "api.proto", "java_outer_classname" to "Outer"))