openfoodfacts-androidapp icon indicating copy to clipboard operation
openfoodfacts-androidapp copied to clipboard

build(deps): Bump Truth to 1.4.2.

Open cpovirk opened this issue 10 months ago • 1 comments

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

cpovirk avatar Apr 01 '24 19:04 cpovirk