Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cc14e36 authored by Thales Lima's avatar Thales Lima
Browse files

Migrate DeviceProfile dump tests to files

Using files makes it easier to update the changed properties.

Fix: 286049633
Test: DeviceProfileDumpTest
Flag: N/A
Change-Id: I5f51a99c1bb1688c59466282c836ef30466ae53d
parent 296a9f33
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -27,6 +27,10 @@ import com.android.launcher3.util.NavigationMode
import com.android.launcher3.util.WindowBounds
import com.android.launcher3.util.window.CachedDisplayInfo
import com.android.launcher3.util.window.WindowManagerProxy
import java.io.BufferedReader
import java.io.File
import java.io.PrintWriter
import java.io.StringWriter
import kotlin.math.max
import kotlin.math.min
import org.junit.After
@@ -287,4 +291,19 @@ abstract class AbstractDeviceProfileTest {
        whenever(displayController.info).thenReturn(info)
        whenever(displayController.isTransientTaskbar).thenReturn(isGestureMode)
    }

    /** Create a new dump of DeviceProfile, saves to a file in the device and returns it */
    protected fun dump(context: Context, dp: DeviceProfile, fileName: String): String {
        val stringWriter = StringWriter()
        PrintWriter(stringWriter).use { dp.dump(context, "", it) }
        return stringWriter.toString().also { content -> writeToDevice(context, fileName, content) }
    }

    /** Read a file from assets/ and return it as a string */
    protected fun readDumpFromAssets(context: Context, fileName: String): String =
        context.assets.open("dumpTests/$fileName").bufferedReader().use(BufferedReader::readText)

    private fun writeToDevice(context: Context, fileName: String, content: String) {
        File(context.getDir("dumpTests", Context.MODE_PRIVATE), fileName).writeText(content)
    }
}