Merge changes I47650901,Ifaf6f745,I7586b144 into androidx-main
* changes:
Update criteria for required arguments
Make addInDefaultArg bypass unknown default values
Improve deeplink parse result readability
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt
index f1ae7b9..4e5d562 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt
@@ -19,6 +19,7 @@
import android.os.Bundle
import androidx.navigation.test.floatArgument
import androidx.navigation.test.intArgument
+import androidx.navigation.test.intArgumentUnknownDefault
import androidx.navigation.test.longArgument
import androidx.navigation.test.nullableStringArgument
import androidx.navigation.test.referenceArgument
@@ -38,6 +39,7 @@
private val floatArgumentWithDefault = "floatArg" to floatArgument(123f)
private val referenceArgumentWithDefault = "referenceArg" to referenceArgument(123)
private val stringArrayArgumentWithDefault = "stringArrayArg" to stringArrayArgument(null)
+private val intArgumentWithUnknownDefault = "intUnknownArg" to intArgumentUnknownDefault()
@SmallTest
@RunWith(Parameterized::class)
@@ -65,7 +67,11 @@
// Test with arguments that have default values (reference)
mapOf(stringArgumentWithDefault, referenceArgumentWithDefault),
// Test with arguments that have default values (string array)
- mapOf(stringArgumentWithDefault, stringArrayArgumentWithDefault)
+ mapOf(stringArgumentWithDefault, stringArrayArgumentWithDefault),
+ // Test with argument that only have unknown default value
+ mapOf(intArgumentWithUnknownDefault),
+ // Test with arguments where only some have unknown default values
+ mapOf(intArgumentWithUnknownDefault, stringArgumentWithDefault)
).forEach { arguments: Map<String, NavArgument> ->
// Run with a null Bundle
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavArgumentTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavArgumentTest.kt
index d6b19e3..202b3b3 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavArgumentTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavArgumentTest.kt
@@ -66,7 +66,7 @@
}
@Test
- fun setDefaultValuePresent() {
+ fun setUnknownDefaultValuePresent() {
val argument = NavArgument.Builder()
.setType(NavType.IntType)
.setIsNullable(false)
@@ -74,5 +74,6 @@
.build()
assertThat(argument.isDefaultValuePresent).isTrue()
+ assertThat(argument.isDefaultValueUnknown).isTrue()
}
}
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
index 2d76f1d..33bab05 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
@@ -18,7 +18,9 @@
import android.net.Uri
import androidx.navigation.test.intArgument
+import androidx.navigation.test.intArgumentUnknownDefault
import androidx.navigation.test.nullableStringArgument
+import androidx.navigation.test.nullableStringArgumentUnknownDefault
import androidx.navigation.test.stringArgument
import androidx.navigation.test.stringArrayArgument
import androidx.test.filters.SmallTest
@@ -1311,6 +1313,32 @@
}
@Test
+ fun deepLinkMissingRequiredArgumentUnknownDefault() {
+ val deepLink = NavDeepLink("$DEEP_LINK_EXACT_HTTPS?myarg={myarg}")
+ val matchArgs = deepLink.getMatchingArguments(
+ Uri.parse(DEEP_LINK_EXACT_HTTPS),
+ // NavArgument with unknown default value
+ mapOf("myarg" to intArgumentUnknownDefault())
+ )
+ assertWithMessage("Args should not be null")
+ .that(matchArgs)
+ .isNotNull()
+ }
+
+ @Test
+ fun deepLinkMissingNullableArgumentUnknownDefault() {
+ val deepLink = NavDeepLink("$DEEP_LINK_EXACT_HTTPS?myarg={myarg}")
+ val matchArgs = deepLink.getMatchingArguments(
+ Uri.parse(DEEP_LINK_EXACT_HTTPS),
+ // NavArgument with unknown default value
+ mapOf("myarg" to nullableStringArgumentUnknownDefault())
+ )
+ assertWithMessage("Args should not be null")
+ .that(matchArgs)
+ .isNotNull()
+ }
+
+ @Test
fun deepLinkMissingRequiredArgument() {
val deepLinkString = "$DEEP_LINK_EXACT_HTTPS/greeting?title={title}&text={text}"
val deepLink = NavDeepLink(deepLinkString)
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt
index 860d0a9..ff9d14c 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt
@@ -100,9 +100,12 @@
assertWithMessage("NavDestination should have argument added")
.that(destination.arguments["arg"])
.isNotNull()
- assertWithMessage("NavArgument should have default value added")
+ assertWithMessage("NavArgument should have not have known default value added")
.that(destination.arguments["arg2"]?.isDefaultValuePresent)
.isTrue()
+ assertWithMessage("NavArgument should have unknown default value added")
+ .that(destination.arguments["arg2"]?.isDefaultValueUnknown)
+ .isTrue()
}
@Test
@@ -192,7 +195,7 @@
}
@Test
- fun navDestinationDefaultValuePresent() {
+ fun navDestinationUnknownDefaultValuePresent() {
val destination = provider.navDestination(DESTINATION_ID) {
argument("arg1") {
type = NavType.StringType
@@ -205,9 +208,11 @@
}
val arg1 = destination.arguments["arg1"]
assertThat(arg1?.isDefaultValuePresent).isTrue()
+ assertThat(arg1?.isDefaultValueUnknown).isTrue()
val arg2 = destination.arguments["arg2"]
assertThat(arg2?.isDefaultValuePresent).isFalse()
+ assertThat(arg2?.isDefaultValueUnknown).isFalse()
}
}
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavArgument.kt b/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavArgument.kt
index a0e4450..d27398f 100644
--- a/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavArgument.kt
+++ b/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavArgument.kt
@@ -32,6 +32,11 @@
) = NavArgument.Builder().setType(IntType)
.setDefaultValue(defaultValue)
.build()
+
+fun intArgumentUnknownDefault() =
+ NavArgument.Builder().setType(IntType)
+ .setUnknownDefaultValuePresent(true)
+ .build()
// endregion
// region LongType
@@ -85,6 +90,11 @@
.setIsNullable(true)
.setDefaultValue(defaultValue)
.build()
+
+fun nullableStringArgumentUnknownDefault() = NavArgument.Builder().setType(StringType)
+ .setIsNullable(true)
+ .setUnknownDefaultValuePresent(true)
+ .build()
// endregion
// region StringArrayType
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
index 2239fdc..cd4d1d8 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
@@ -52,6 +52,12 @@
public val isDefaultValuePresent: Boolean
/**
+ * Indicates whether the default value (if present) is unknown (i.e. safe args where
+ * default value is declared in KClass but not stored in [defaultValue]).
+ */
+ internal val isDefaultValueUnknown: Boolean
+
+ /**
* The default value of this argument or `null` if it doesn't have a default value.
* Use [isDefaultValuePresent] to distinguish between `null` and absence of a value.
* @return The default value assigned to this argument.
@@ -205,6 +211,7 @@
this.isNullable = isNullable
this.defaultValue = defaultValue
isDefaultValuePresent = defaultValuePresent || unknownDefaultValuePresent
+ isDefaultValueUnknown = unknownDefaultValuePresent
}
}
@@ -219,9 +226,8 @@
isArgumentMissing: (key: String) -> Boolean
): List<String> {
val requiredArgumentKeys = filterValues {
- if (it != null) {
- !it.isNullable && !it.isDefaultValuePresent
- } else false
+ !it?.isNullable!! && !it.isDefaultValuePresent
}.keys
+
return requiredArgumentKeys.filter { key -> isArgumentMissing(key) }
}
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
index 6377f8e..811319e 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
@@ -226,10 +226,9 @@
val value = Uri.decode(matcher.group(index + 1))
val argument = arguments[argumentName]
try {
- if (parseArgument(bundle, argumentName, value, argument)) {
- return
- }
+ parseArgument(bundle, argumentName, value, argument)
} catch (e: IllegalArgumentException) {
+ // parse failed, quick return
return
}
}
@@ -244,9 +243,7 @@
val value = Uri.decode(matcher.group(index + 1))
val argument = arguments[argumentName]
try {
- if (parseArgument(bundle, argumentName, value, argument)) {
- return false
- }
+ parseArgument(bundle, argumentName, value, argument)
} catch (e: IllegalArgumentException) {
// Failed to parse means this isn't a valid deep link
// for the given URI - i.e., the URI contains a non-integer
@@ -254,6 +251,7 @@
return false
}
}
+ // parse success
return true
}
@@ -276,9 +274,11 @@
}
}
if (!parseInputParams(inputParams, storedParam, bundle, arguments)) {
+ // failed to parse input parameters
return false
}
}
+ // parse success
return true
}
@@ -307,9 +307,7 @@
// Passing in a value the exact same as the placeholder will be treated the
// as if no value was passed (unless value is based on String),
// being replaced if it is optional or throwing an error if it is required.
- if (parseArgument(queryParamBundle, argName, value, argument)) {
- return false
- }
+ parseArgument(queryParamBundle, argName, value, argument)
}
}
bundle.putAll(queryParamBundle)
@@ -319,6 +317,7 @@
// that particular parameter from the argument bundle.
}
}
+ // parse success
return true
}
@@ -332,19 +331,22 @@
return matches.size
}
+ /**
+ * Parses [value] based on the NavArgument's NavType and stores the result
+ * inside the [bundle]. Throws if parse fails.
+ */
private fun parseArgument(
bundle: Bundle,
name: String,
value: String,
argument: NavArgument?
- ): Boolean {
+ ) {
if (argument != null) {
val type = argument.type
type.parseAndPut(bundle, name, value)
} else {
bundle.putString(name, value)
}
- return false
}
private fun parseArgumentForRepeatedParam(
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt b/navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt
index c673594..30726b3 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt
+++ b/navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt
@@ -587,7 +587,7 @@
@Suppress("NullableCollection") // Needed for nullable bundle
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public fun addInDefaultArgs(args: Bundle?): Bundle? {
- if (args == null && _arguments.isNullOrEmpty()) {
+ if (args == null && _arguments.isEmpty()) {
return null
}
val defaultArgs = Bundle()
@@ -596,10 +596,14 @@
}
if (args != null) {
defaultArgs.putAll(args)
+ // Don't verify unknown default values - these default values are only available
+ // during deserialization for safe args.
for ((key, value) in _arguments) {
- require(value.verify(key, defaultArgs)) {
- "Wrong argument type for '$key' in argument bundle. ${value.type.name} " +
- "expected."
+ if (!value.isDefaultValueUnknown) {
+ require(value.verify(key, defaultArgs)) {
+ "Wrong argument type for '$key' in argument bundle. ${value.type.name} " +
+ "expected."
+ }
}
}
}
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt b/navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
index a277965..391d320 100644
--- a/navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
+++ b/navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
@@ -48,7 +48,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -71,7 +71,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -84,7 +84,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -97,7 +97,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -120,7 +120,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -143,7 +143,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -166,7 +166,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -179,7 +179,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -192,7 +192,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -205,7 +205,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -218,7 +218,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -231,7 +231,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -244,7 +244,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -257,7 +257,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -270,7 +270,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -283,7 +283,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -311,7 +311,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -339,7 +339,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -366,7 +366,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -393,7 +393,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -417,7 +417,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -441,7 +441,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -465,7 +465,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -489,7 +489,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -510,7 +510,7 @@
mapOf(typeOf<TestEnum>() to navType)
)
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -533,7 +533,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -554,7 +554,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -567,7 +567,7 @@
unknownDefaultValuePresent = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isTrue()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isTrue()
}
@Test
@@ -581,7 +581,7 @@
// since String? is nullable, we cannot know for sure the default value is not null
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isTrue()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isTrue()
}
@Test
@@ -594,7 +594,7 @@
unknownDefaultValuePresent = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isTrue()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isTrue()
}
@Test
@@ -629,7 +629,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -650,7 +650,7 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -689,8 +689,8 @@
nullable = true
}
assertThat(converted).containsExactlyInOrder(expectedInt, expectedString)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
- assertThat(converted[1].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
+ assertThat(converted[1].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -709,8 +709,8 @@
unknownDefaultValuePresent = true
}
assertThat(converted).containsExactlyInOrder(expectedInt, expectedString)
- assertThat(converted[0].argument.isDefaultValuePresent).isTrue()
- assertThat(converted[1].argument.isDefaultValuePresent).isTrue()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isTrue()
+ assertThat(converted[1].argument.isDefaultValueUnknown).isTrue()
}
@Test
@@ -743,8 +743,8 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expectedStringList, expectedIntList)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
- assertThat(converted[1].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
+ assertThat(converted[1].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -782,8 +782,8 @@
unknownDefaultValuePresent = true
}
assertThat(converted).containsExactlyInOrder(expectedStringList, expectedIntList)
- assertThat(converted[0].argument.isDefaultValuePresent).isTrue()
- assertThat(converted[1].argument.isDefaultValuePresent).isTrue()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isTrue()
+ assertThat(converted[1].argument.isDefaultValueUnknown).isTrue()
}
@Test
@@ -804,7 +804,7 @@
nullable = false
}
assertThat(converted).containsExactlyInOrder(expectedStringList)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -830,8 +830,8 @@
}
assertThat(converted).containsExactlyInOrder(expectedString, expectedIntList)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
- assertThat(converted[1].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
+ assertThat(converted[1].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -853,7 +853,7 @@
}
assertThat(converted).containsExactlyInOrder(expected)
assertThat(converted[0]).isNotEqualTo(NavType.IntType)
- assertThat(converted[0].argument.isDefaultValuePresent).isFalse()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isFalse()
}
@Test
@@ -882,7 +882,7 @@
unknownDefaultValuePresent = true
}
assertThat(converted).containsExactlyInOrder(expected)
- assertThat(converted[0].argument.isDefaultValuePresent).isTrue()
+ assertThat(converted[0].argument.isDefaultValueUnknown).isTrue()
}
@Test
@@ -981,6 +981,7 @@
if (javaClass != other.javaClass) return false
if (isNullable != other.isNullable) return false
if (isDefaultValuePresent != other.isDefaultValuePresent) return false
+ if (isDefaultValueUnknown != other.isDefaultValueUnknown) return false
if (type != other.type) return false
// In context of serialization, we can only tell if defaultValue is present but don't know
// actual value, so we cannot compare it to the generated defaultValue. But if