Move extensions to common module (#6276)

This commit is contained in:
David Perez
2025-12-17 10:19:20 -06:00
committed by GitHub
parent 7834d5bf27
commit b79aca7338
5 changed files with 7 additions and 7 deletions

View File

@@ -1,10 +0,0 @@
package com.x8bit.bitwarden.data.platform.util
import com.bitwarden.annotation.OmitFromCoverage
import java.io.File
/**
* A helper function for creating a file from a path.
*/
@OmitFromCoverage
fun fileOf(path: String): File = File(path)

View File

@@ -3,13 +3,13 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recorded
import com.bitwarden.core.data.util.toFormattedDateStyle
import com.bitwarden.core.data.util.toFormattedPattern
import com.bitwarden.core.data.util.toFormattedTimeStyle
import com.bitwarden.core.util.fileOf
import com.bitwarden.data.datasource.disk.model.FlightRecorderDataSet
import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.platform.util.formatBytes
import com.bitwarden.ui.util.Text
import com.bitwarden.ui.util.asText
import com.x8bit.bitwarden.data.platform.util.fileOf
import com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.RecordedLogsState
import com.x8bit.bitwarden.ui.platform.util.formatBytes
import kotlinx.collections.immutable.toImmutableList
import java.time.Clock
import java.time.Instant

View File

@@ -1,22 +0,0 @@
package com.x8bit.bitwarden.ui.platform.util
private const val BASE_DATA_SIZE: Long = 1024L
private val DATA_SIZE_UNITS = arrayOf("B", "KB", "MB", "GB", "TB")
/**
* Formats the a long, representing size in bytes, into a human readable string.
*
* Note: This uses base-2 to determine the size of the file but uses base-10 units.
*/
fun Long.formatBytes(): String {
if (this < BASE_DATA_SIZE) return "$this ${DATA_SIZE_UNITS[0]}"
var value = this.toDouble()
var unitIndex = 0
while (value >= BASE_DATA_SIZE && unitIndex < DATA_SIZE_UNITS.lastIndex) {
value /= BASE_DATA_SIZE
unitIndex++
}
return String.format(locale = null, format = "%.2f ${DATA_SIZE_UNITS[unitIndex]}", value)
}

View File

@@ -1,12 +1,12 @@
package com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedlogs.util
import com.bitwarden.core.util.fileOf
import com.bitwarden.data.datasource.disk.model.FlightRecorderDataSet
import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.platform.util.formatBytes
import com.bitwarden.ui.util.asText
import com.x8bit.bitwarden.data.platform.util.fileOf
import com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.RecordedLogsState
import com.x8bit.bitwarden.ui.platform.feature.settings.flightrecorder.recordedLogs.util.toViewState
import com.x8bit.bitwarden.ui.platform.util.formatBytes
import io.mockk.every
import io.mockk.mockkStatic
import io.mockk.unmockkStatic

View File

@@ -1,30 +0,0 @@
package com.x8bit.bitwarden.ui.platform.util
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class LongExtensionsTest {
@Test
fun `formatBytes should return string in appropriate format`() {
// Bytes
assertEquals("0 B", 0L.formatBytes())
assertEquals("500 B", 500L.formatBytes())
assertEquals("1023 B", 1_023L.formatBytes())
// Kibibytes
assertEquals("1.00 KB", 1_024L.formatBytes())
assertEquals("21.51 KB", 22_024L.formatBytes())
assertEquals("591.82 KB", 606_024L.formatBytes())
// Mebibytes
assertEquals("1.00 MB", 1_048_576L.formatBytes())
assertEquals("3.27 MB", 3_425_346L.formatBytes())
assertEquals("477.24 MB", 500_425_346L.formatBytes())
// Gibibytes
assertEquals("1.00 GB", 1_073_741_824L.formatBytes())
assertEquals("1.07 GB", 1_151_461_496L.formatBytes())
assertEquals("52.08 GB", 55_917_186_986L.formatBytes())
// Tebibytes
assertEquals("1.00 TB", 1_099_511_627_776L.formatBytes())
assertEquals("12.49 TB", 13_732_900_230_922L.formatBytes())
assertEquals("2000.00 TB", 2_199_023_255_552_000L.formatBytes())
}
}