diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f9cc0c07cc4..fbfc3629325 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -154,7 +154,7 @@ test_konsist = "com.lemonappdev:konsist:0.17.3" test_turbine = "app.cash.turbine:turbine:1.2.1" test_truth = "com.google.truth:truth:1.4.4" test_parameter_injector = "com.google.testparameterinjector:test-parameter-injector:1.18" -test_robolectric = "org.robolectric:robolectric:4.15.1" +test_robolectric = "org.robolectric:robolectric:4.16" test_appyx_junit = { module = "com.bumble.appyx:testing-junit4", version.ref = "appyx" } test_composable_preview_scanner = "io.github.sergio-sastre.ComposablePreviewScanner:android:0.7.0" test_detekt_api = { module = "io.gitlab.arturbosch.detekt:detekt-api", version.ref = "detekt" } diff --git a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatter.kt b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatter.kt index 4c1bf4657a3..2471b80b764 100644 --- a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatter.kt +++ b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatter.kt @@ -29,7 +29,8 @@ class AndroidFileSizeFormatter @Inject constructor( } else { // First convert the size when { - fileSize < 1024 -> fileSize + fileSize <= 1 -> fileSize + fileSize < 1024 -> fileSize * 1000 / 1024 fileSize < 1024 * 1024 -> fileSize * 1000 / 1024 fileSize < 1024 * 1024 * 1024 -> fileSize * 1000 / 1024 * 1000 / 1024 else -> fileSize * 1000 / 1024 * 1000 / 1024 * 1000 / 1024 @@ -40,6 +41,6 @@ class AndroidFileSizeFormatter @Inject constructor( Formatter.formatShortFileSize(context, normalizedSize) } else { Formatter.formatFileSize(context, normalizedSize) - } + }.replace("kB", "KB") } } diff --git a/libraries/androidutils/src/test/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatterTest.kt b/libraries/androidutils/src/test/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatterTest.kt index 93f778d9fd5..a591bb7f559 100644 --- a/libraries/androidutils/src/test/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatterTest.kt +++ b/libraries/androidutils/src/test/kotlin/io/element/android/libraries/androidutils/filesize/AndroidFileSizeFormatterTest.kt @@ -14,45 +14,52 @@ import org.junit.Test import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner import org.robolectric.RuntimeEnvironment +import org.robolectric.annotation.Config @RunWith(RobolectricTestRunner::class) class AndroidFileSizeFormatterTest { + @Config(sdk = [Build.VERSION_CODES.N]) @Test fun `test api 24 long format`() { val sut = createAndroidFileSizeFormatter(sdkLevel = Build.VERSION_CODES.N) - assertThat(sut.format(1, useShortFormat = false)).isEqualTo("1.00B") - assertThat(sut.format(1000, useShortFormat = false)).isEqualTo("0.98KB") - assertThat(sut.format(1024, useShortFormat = false)).isEqualTo("1.00KB") - assertThat(sut.format(1024 * 1024, useShortFormat = false)).isEqualTo("1.00MB") - assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = false)).isEqualTo("1.00GB") + assertThat(sut.format(1, useShortFormat = false)).isEqualTo("1 B") + assertThat(sut.format(1000, useShortFormat = false)).isEqualTo("0.98 KB") + assertThat(sut.format(1024, useShortFormat = false)).isEqualTo("1.00 KB") + assertThat(sut.format(1024 * 1024, useShortFormat = false)).isEqualTo("1.00 MB") + assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = false)).isEqualTo("1.00 GB") } + @Config(sdk = [Build.VERSION_CODES.O]) @Test fun `test api 26 long format`() { val sut = createAndroidFileSizeFormatter(sdkLevel = Build.VERSION_CODES.O) - assertThat(sut.format(1, useShortFormat = false)).isEqualTo("1.00B") - assertThat(sut.format(1000, useShortFormat = false)).isEqualTo("0.98KB") - assertThat(sut.format(1024 * 1024, useShortFormat = false)).isEqualTo("0.95MB") - assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = false)).isEqualTo("0.93GB") + assertThat(sut.format(1, useShortFormat = false)).isEqualTo("1 B") + assertThat(sut.format(1000, useShortFormat = false)).isEqualTo("0.98 KB") + assertThat(sut.format(1024, useShortFormat = false)).isEqualTo("1.00 KB") + assertThat(sut.format(1024 * 1024, useShortFormat = false)).isEqualTo("1.00 MB") + assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = false)).isEqualTo("1.00 GB") } + @Config(sdk = [Build.VERSION_CODES.N]) @Test fun `test api 24 short format`() { val sut = createAndroidFileSizeFormatter(sdkLevel = Build.VERSION_CODES.N) - assertThat(sut.format(1, useShortFormat = true)).isEqualTo("1.0B") - assertThat(sut.format(1000, useShortFormat = true)).isEqualTo("0.98KB") - assertThat(sut.format(1024, useShortFormat = true)).isEqualTo("1.0KB") - assertThat(sut.format(1024 * 1024, useShortFormat = true)).isEqualTo("1.0MB") - assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = true)).isEqualTo("1.0GB") + assertThat(sut.format(1, useShortFormat = true)).isEqualTo("1 B") + assertThat(sut.format(1000, useShortFormat = true)).isEqualTo("0.98 KB") + assertThat(sut.format(1024, useShortFormat = true)).isEqualTo("1.0 KB") + assertThat(sut.format(1024 * 1024, useShortFormat = true)).isEqualTo("1.0 MB") + assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = true)).isEqualTo("1.0 GB") } + @Config(sdk = [Build.VERSION_CODES.O]) @Test fun `test api 26 short format`() { val sut = createAndroidFileSizeFormatter(sdkLevel = Build.VERSION_CODES.O) - assertThat(sut.format(1, useShortFormat = true)).isEqualTo("1.0B") - assertThat(sut.format(1000, useShortFormat = true)).isEqualTo("0.98KB") - assertThat(sut.format(1024 * 1024, useShortFormat = true)).isEqualTo("0.95MB") - assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = true)).isEqualTo("0.93GB") + assertThat(sut.format(1, useShortFormat = true)).isEqualTo("1 B") + assertThat(sut.format(1000, useShortFormat = true)).isEqualTo("0.98 KB") + assertThat(sut.format(1024, useShortFormat = true)).isEqualTo("1.0 KB") + assertThat(sut.format(1024 * 1024, useShortFormat = true)).isEqualTo("1.0 MB") + assertThat(sut.format(1024 * 1024 * 1024, useShortFormat = true)).isEqualTo("1.0 GB") } private fun createAndroidFileSizeFormatter(sdkLevel: Int) = AndroidFileSizeFormatter( diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_6_en.png index 8cb89ad06b7..afc1219be2e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9368b86a0b2c5f73e97837019327e2f3c7898ded80de259a7c03e58f2ccf2b64 -size 72852 +oid sha256:430d9c6cd08610bb149449f1fd3dc9ba1d36c8946de60f4c7abdc196f142a97e +size 72738 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_8_en.png index 23c8cbc45b1..1c7d5cea143 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbeb0287f75afc662c28cca13fe39f9d24e67ee5b507cf976324d5d9dd4c381b -size 83505 +oid sha256:8911bf1377580383f3a5f77e15f654d258372a74ea14031ee19eb5cd23da6c3c +size 83401 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Day_0_en.png index 7be6eb15ee7..a15633ae9f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:521262df440dc94729863544f131f3b025057aa854f7b5d40490bbb24aafe45b -size 56605 +oid sha256:17b4bfbf75f7999c39e32245ecfeb209524865a47d0d79b9249a2833d0988ffe +size 56663 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Night_0_en.png index f2dc0e05796..3395ea1c12a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_VideoQualitySelectorDialog_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72132b0490257da50ca1a55599eff7f5c4bfdc0266d9d01c0822d51c728423f5 -size 54345 +oid sha256:724455c16cb39e9b532a57286c2a1a22d74930b5b06ff3e5b13771327545fa8f +size 54404