diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml index 5a70770167..bc4650333b 100644 --- a/java/kotlin-lite/pom.xml +++ b/java/kotlin-lite/pom.xml @@ -17,7 +17,7 @@ - 1.4.31 + 1.5.0 diff --git a/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt b/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt index 8726bbf9f9..d78bfff1de 100644 --- a/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt +++ b/java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt @@ -452,37 +452,34 @@ class Proto2LiteTest { this[UnittestLite.repeatedImportEnumExtensionLite].add(ImportEnumLite.IMPORT_LITE_BAR) this[UnittestLite.repeatedStringPieceExtensionLite].add("224") this[UnittestLite.repeatedCordExtensionLite].add("225") - this[UnittestLite.repeatedInt32ExtensionLite].add(301) - this[UnittestLite.repeatedInt64ExtensionLite].add(302L) - this[UnittestLite.repeatedUint32ExtensionLite].add(303) - this[UnittestLite.repeatedUint64ExtensionLite].add(304L) - this[UnittestLite.repeatedSint32ExtensionLite].add(305) - this[UnittestLite.repeatedSint64ExtensionLite].add(306L) - this[UnittestLite.repeatedFixed32ExtensionLite].add(307) - this[UnittestLite.repeatedFixed64ExtensionLite].add(308L) - this[UnittestLite.repeatedSfixed32ExtensionLite].add(309) - this[UnittestLite.repeatedSfixed64ExtensionLite].add(310L) - this[UnittestLite.repeatedFloatExtensionLite].add(311F) - this[UnittestLite.repeatedDoubleExtensionLite].add(312.0) - this[UnittestLite.repeatedBoolExtensionLite].add(false) - this[UnittestLite.repeatedStringExtensionLite].add("315") - this[UnittestLite.repeatedBytesExtensionLite].add(toBytes("316")) - this[UnittestLite.repeatedGroupExtensionLite].add(repeatedGroupExtensionLite { a = 317 }) - this[UnittestLite.repeatedNestedMessageExtensionLite].add( + this[UnittestLite.repeatedInt32ExtensionLite] += 301 + this[UnittestLite.repeatedInt64ExtensionLite] += 302L + this[UnittestLite.repeatedUint32ExtensionLite] += 303 + this[UnittestLite.repeatedUint64ExtensionLite] += 304L + this[UnittestLite.repeatedSint32ExtensionLite] += 305 + this[UnittestLite.repeatedSint64ExtensionLite] += 306L + this[UnittestLite.repeatedFixed32ExtensionLite] += 307 + this[UnittestLite.repeatedFixed64ExtensionLite] += 308L + this[UnittestLite.repeatedSfixed32ExtensionLite] += 309 + this[UnittestLite.repeatedSfixed64ExtensionLite] += 310L + this[UnittestLite.repeatedFloatExtensionLite] += 311F + this[UnittestLite.repeatedDoubleExtensionLite] += 312.0 + this[UnittestLite.repeatedBoolExtensionLite] += false + this[UnittestLite.repeatedStringExtensionLite] += "315" + this[UnittestLite.repeatedBytesExtensionLite] += toBytes("316") + this[UnittestLite.repeatedGroupExtensionLite] += repeatedGroupExtensionLite { a = 317 } + this[UnittestLite.repeatedNestedMessageExtensionLite] += TestAllTypesLiteKt.nestedMessage { bb = 318 } - ) - this[UnittestLite.repeatedForeignMessageExtensionLite].add(foreignMessageLite { c = 319 }) - this[UnittestLite.repeatedImportMessageExtensionLite].add( + this[UnittestLite.repeatedForeignMessageExtensionLite] += foreignMessageLite { c = 319 } + this[UnittestLite.repeatedImportMessageExtensionLite] += ImportMessageLite.newBuilder().setD(320).build() - ) - this[UnittestLite.repeatedLazyMessageExtensionLite].add( + this[UnittestLite.repeatedLazyMessageExtensionLite] += TestAllTypesLiteKt.nestedMessage { bb = 327 } - ) - this[UnittestLite.repeatedNestedEnumExtensionLite].add(NestedEnum.BAZ) - this[UnittestLite.repeatedForeignEnumExtensionLite].add(ForeignEnumLite.FOREIGN_LITE_BAZ) - this[UnittestLite.repeatedImportEnumExtensionLite].add(ImportEnumLite.IMPORT_LITE_BAZ) - this[UnittestLite.repeatedStringPieceExtensionLite].add("324") - this[UnittestLite.repeatedCordExtensionLite].add("325") + this[UnittestLite.repeatedNestedEnumExtensionLite] += NestedEnum.BAZ + this[UnittestLite.repeatedForeignEnumExtensionLite] += ForeignEnumLite.FOREIGN_LITE_BAZ + this[UnittestLite.repeatedImportEnumExtensionLite] += ImportEnumLite.IMPORT_LITE_BAZ + this[UnittestLite.repeatedStringPieceExtensionLite] += "324" + this[UnittestLite.repeatedCordExtensionLite] += "325" this[UnittestLite.defaultInt32ExtensionLite] = 401 this[UnittestLite.defaultInt64ExtensionLite] = 402L this[UnittestLite.defaultUint32ExtensionLite] = 403 @@ -542,14 +539,14 @@ class Proto2LiteTest { testAllExtensionsLite { this[UnittestLite.repeatedInt32ExtensionLite].addAll(listOf(1, 2)) assertThat(this[UnittestLite.repeatedInt32ExtensionLite]).isEqualTo(listOf(1, 2)) - this[UnittestLite.repeatedInt32ExtensionLite].addAll(listOf(3, 4)) + this[UnittestLite.repeatedInt32ExtensionLite] += listOf(3, 4) assertThat(this[UnittestLite.repeatedInt32ExtensionLite]).isEqualTo(listOf(1, 2, 3, 4)) this[UnittestLite.repeatedInt32ExtensionLite][0] = 5 assertThat(this[UnittestLite.repeatedInt32ExtensionLite]).isEqualTo(listOf(5, 2, 3, 4)) this[UnittestLite.repeatedStringExtensionLite].addAll(listOf("1", "2")) assertThat(this[UnittestLite.repeatedStringExtensionLite]).isEqualTo(listOf("1", "2")) - this[UnittestLite.repeatedStringExtensionLite].addAll(listOf("3", "4")) + this[UnittestLite.repeatedStringExtensionLite] += listOf("3", "4") assertThat(this[UnittestLite.repeatedStringExtensionLite]) .isEqualTo(listOf("1", "2", "3", "4")) this[UnittestLite.repeatedStringExtensionLite][0] = "5" @@ -568,12 +565,11 @@ class Proto2LiteTest { repeatedGroupExtensionLite { a = 2 } ) ) - this[UnittestLite.repeatedGroupExtensionLite].addAll( + this[UnittestLite.repeatedGroupExtensionLite] += listOf( repeatedGroupExtensionLite { a = 3 }, repeatedGroupExtensionLite { a = 4 } ) - ) assertThat(this[UnittestLite.repeatedGroupExtensionLite]).isEqualTo( listOf( repeatedGroupExtensionLite { a = 1 }, @@ -598,9 +594,8 @@ class Proto2LiteTest { assertThat(this[UnittestLite.repeatedNestedMessageExtensionLite]).isEqualTo( listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 }) ) - this[UnittestLite.repeatedNestedMessageExtensionLite].addAll( + this[UnittestLite.repeatedNestedMessageExtensionLite] += listOf(nestedMessage { bb = 3 }, nestedMessage { bb = 4 }) - ) assertThat(this[UnittestLite.repeatedNestedMessageExtensionLite]).isEqualTo( listOf( nestedMessage { bb = 1 }, @@ -623,7 +618,7 @@ class Proto2LiteTest { .addAll(listOf(NestedEnum.FOO, NestedEnum.BAR)) assertThat(this[UnittestLite.repeatedNestedEnumExtensionLite]) .isEqualTo(listOf(NestedEnum.FOO, NestedEnum.BAR)) - this[UnittestLite.repeatedNestedEnumExtensionLite].addAll(listOf(NestedEnum.BAZ, NestedEnum.FOO)) + this[UnittestLite.repeatedNestedEnumExtensionLite] += listOf(NestedEnum.BAZ, NestedEnum.FOO) assertThat(this[UnittestLite.repeatedNestedEnumExtensionLite]).isEqualTo( listOf(NestedEnum.FOO, NestedEnum.BAR, NestedEnum.BAZ, NestedEnum.FOO) ) diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml index a1e50188d9..e1c1c7f4ab 100644 --- a/java/kotlin/pom.xml +++ b/java/kotlin/pom.xml @@ -17,7 +17,7 @@ - 1.4.31 + 1.5.0 diff --git a/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt b/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt index 72b9792b55..62b9899dfe 100644 --- a/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt +++ b/java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt @@ -448,34 +448,34 @@ class Proto2Test { this[UnittestProto.repeatedImportEnumExtension].add(ImportEnum.IMPORT_BAR) this[UnittestProto.repeatedStringPieceExtension].add("224") this[UnittestProto.repeatedCordExtension].add("225") - this[UnittestProto.repeatedInt32Extension].add(301) - this[UnittestProto.repeatedInt64Extension].add(302L) - this[UnittestProto.repeatedUint32Extension].add(303) - this[UnittestProto.repeatedUint64Extension].add(304L) - this[UnittestProto.repeatedSint32Extension].add(305) - this[UnittestProto.repeatedSint64Extension].add(306L) - this[UnittestProto.repeatedFixed32Extension].add(307) - this[UnittestProto.repeatedFixed64Extension].add(308L) - this[UnittestProto.repeatedSfixed32Extension].add(309) - this[UnittestProto.repeatedSfixed64Extension].add(310L) - this[UnittestProto.repeatedFloatExtension].add(311F) - this[UnittestProto.repeatedDoubleExtension].add(312.0) - this[UnittestProto.repeatedBoolExtension].add(false) - this[UnittestProto.repeatedStringExtension].add("315") - this[UnittestProto.repeatedBytesExtension].add(toBytes("316")) - this[UnittestProto.repeatedGroupExtension].add(repeatedGroupExtension { a = 317 }) - this[UnittestProto.repeatedNestedMessageExtension] - .add(TestAllTypesKt.nestedMessage { bb = 318 }) - this[UnittestProto.repeatedForeignMessageExtension].add(foreignMessage { c = 319 }) - this[UnittestProto.repeatedImportMessageExtension] - .add(ImportMessage.newBuilder().setD(320).build()) - this[UnittestProto.repeatedLazyMessageExtension] - .add(TestAllTypesKt.nestedMessage { bb = 327 }) - this[UnittestProto.repeatedNestedEnumExtension].add(NestedEnum.BAZ) - this[UnittestProto.repeatedForeignEnumExtension].add(ForeignEnum.FOREIGN_BAZ) - this[UnittestProto.repeatedImportEnumExtension].add(ImportEnum.IMPORT_BAZ) - this[UnittestProto.repeatedStringPieceExtension].add("324") - this[UnittestProto.repeatedCordExtension].add("325") + this[UnittestProto.repeatedInt32Extension] += 301 + this[UnittestProto.repeatedInt64Extension] += 302L + this[UnittestProto.repeatedUint32Extension] += 303 + this[UnittestProto.repeatedUint64Extension] += 304L + this[UnittestProto.repeatedSint32Extension] += 305 + this[UnittestProto.repeatedSint64Extension] += 306L + this[UnittestProto.repeatedFixed32Extension] += 307 + this[UnittestProto.repeatedFixed64Extension] += 308L + this[UnittestProto.repeatedSfixed32Extension] += 309 + this[UnittestProto.repeatedSfixed64Extension] += 310L + this[UnittestProto.repeatedFloatExtension] += 311F + this[UnittestProto.repeatedDoubleExtension] += 312.0 + this[UnittestProto.repeatedBoolExtension] += false + this[UnittestProto.repeatedStringExtension] += "315" + this[UnittestProto.repeatedBytesExtension] += toBytes("316") + this[UnittestProto.repeatedGroupExtension] += repeatedGroupExtension { a = 317 } + this[UnittestProto.repeatedNestedMessageExtension] += + TestAllTypesKt.nestedMessage { bb = 318 } + this[UnittestProto.repeatedForeignMessageExtension] += foreignMessage { c = 319 } + this[UnittestProto.repeatedImportMessageExtension] += + ImportMessage.newBuilder().setD(320).build() + this[UnittestProto.repeatedLazyMessageExtension] += + TestAllTypesKt.nestedMessage { bb = 327 } + this[UnittestProto.repeatedNestedEnumExtension] += NestedEnum.BAZ + this[UnittestProto.repeatedForeignEnumExtension] += ForeignEnum.FOREIGN_BAZ + this[UnittestProto.repeatedImportEnumExtension] += ImportEnum.IMPORT_BAZ + this[UnittestProto.repeatedStringPieceExtension] += "324" + this[UnittestProto.repeatedCordExtension] += "325" this[UnittestProto.defaultInt32Extension] = 401 this[UnittestProto.defaultInt64Extension] = 402L this[UnittestProto.defaultUint32Extension] = 403 @@ -529,6 +529,95 @@ class Proto2Test { } } + @Test + fun testRepeatedExtensionGettersAndSetters() { + testAllExtensions { + this[UnittestProto.repeatedInt32Extension].addAll(listOf(1, 2)) + assertThat(this[UnittestProto.repeatedInt32Extension]).isEqualTo(listOf(1, 2)) + this[UnittestProto.repeatedInt32Extension] += listOf(3, 4) + assertThat(this[UnittestProto.repeatedInt32Extension]).isEqualTo(listOf(1, 2, 3, 4)) + this[UnittestProto.repeatedInt32Extension][0] = 5 + assertThat(this[UnittestProto.repeatedInt32Extension]).isEqualTo(listOf(5, 2, 3, 4)) + + this[UnittestProto.repeatedStringExtension].addAll(listOf("1", "2")) + assertThat(this[UnittestProto.repeatedStringExtension]).isEqualTo(listOf("1", "2")) + this[UnittestProto.repeatedStringExtension] += listOf("3", "4") + assertThat(this[UnittestProto.repeatedStringExtension]).isEqualTo(listOf("1", "2", "3", "4")) + this[UnittestProto.repeatedStringExtension][0] = "5" + assertThat(this[UnittestProto.repeatedStringExtension]).isEqualTo(listOf("5", "2", "3", "4")) + + this[UnittestProto.repeatedGroupExtension].addAll( + listOf( + repeatedGroupExtension { a = 1 }, + repeatedGroupExtension { a = 2 } + ) + ) + assertThat(this[UnittestProto.repeatedGroupExtension]).isEqualTo( + listOf( + repeatedGroupExtension { a = 1 }, + repeatedGroupExtension { a = 2 } + ) + ) + this[UnittestProto.repeatedGroupExtension] += + listOf( + repeatedGroupExtension { a = 3 }, + repeatedGroupExtension { a = 4 } + ) + assertThat(this[UnittestProto.repeatedGroupExtension]).isEqualTo( + listOf( + repeatedGroupExtension { a = 1 }, + repeatedGroupExtension { a = 2 }, + repeatedGroupExtension { a = 3 }, + repeatedGroupExtension { a = 4 } + ) + ) + this[UnittestProto.repeatedGroupExtension][0] = repeatedGroupExtension { a = 5 } + assertThat(this[UnittestProto.repeatedGroupExtension]).isEqualTo( + listOf( + repeatedGroupExtension { a = 5 }, + repeatedGroupExtension { a = 2 }, + repeatedGroupExtension { a = 3 }, + repeatedGroupExtension { a = 4 } + ) + ) + + this[UnittestProto.repeatedNestedMessageExtension].addAll( + listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 }) + ) + assertThat(this[UnittestProto.repeatedNestedMessageExtension]).isEqualTo( + listOf(nestedMessage { bb = 1 }, nestedMessage { bb = 2 }) + ) + this[UnittestProto.repeatedNestedMessageExtension] += + listOf(nestedMessage { bb = 3 }, nestedMessage { bb = 4 }) + assertThat(this[UnittestProto.repeatedNestedMessageExtension]).isEqualTo( + listOf( + nestedMessage { bb = 1 }, + nestedMessage { bb = 2 }, + nestedMessage { bb = 3 }, + nestedMessage { bb = 4 } + ) + ) + this[UnittestProto.repeatedNestedMessageExtension][0] = nestedMessage { bb = 5 } + assertThat(this[UnittestProto.repeatedNestedMessageExtension]).isEqualTo( + listOf( + nestedMessage { bb = 5 }, + nestedMessage { bb = 2 }, + nestedMessage { bb = 3 }, + nestedMessage { bb = 4 } + ) + ) + + this[UnittestProto.repeatedNestedEnumExtension] + .addAll(listOf(NestedEnum.FOO, NestedEnum.BAR)) + assertThat(this[UnittestProto.repeatedNestedEnumExtension]) + .isEqualTo(listOf(NestedEnum.FOO, NestedEnum.BAR)) + this[UnittestProto.repeatedNestedEnumExtension] += listOf(NestedEnum.BAZ, NestedEnum.FOO) + assertThat(this[UnittestProto.repeatedNestedEnumExtension]).isEqualTo( + listOf(NestedEnum.FOO, NestedEnum.BAR, NestedEnum.BAZ, NestedEnum.FOO) + ) + } + } + @Test fun testExtensionContains() { testAllExtensions {