openfoodfacts / openfoodfacts-androidapp

(Legacy) Native version of Open Food Facts on Android - Coders & Decoders welcome 🤳🥫
https://android.openfoodfacts.org
Apache License 2.0
773 stars 446 forks source link

build(deps): Bump Truth to 1.4.2. #5194

Open cpovirk opened 7 months ago

cpovirk commented 7 months ago

This requires adapting to Truth's recent nullness annotations.

Specifically, a Subject constructor (and the associated Subject.Factory and assertThat function) should accept a null actual value. By doing so, it makes it possible to write assertThat(foo).isNull(), for example.

This does not necessarily mean that all assertions will pass if the caller passes null. Obviously isNotNull() will fail, of course, but so too may other assertions, like hasFoundProducts will here.

(In principle, it would be nice for all assertions to fail with detailed NullPointerException messages. In practice, we mostly haven't done that even for the core Truth assertions. So I haven't here, either.)

Without this PR, the error that Truth 1.4.2 produces is:

ProductsAPITest.kt:245:46 Type mismatch: inferred type is KFunction2<FailureMetadata, Search, ProductsAPITest.SearchSubject> but (FailureMetadata!, TypeVariable(ActualT)?) -> TypeVariable(SubjectT)! was expected

Fixes https://github.com/openfoodfacts/openfoodfacts-androidapp/pull/5191

sonarcloud[bot] commented 7 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud