diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfo.kt b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfo.kt index 47a5ae02..b4e4edc7 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfo.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfo.kt @@ -11,6 +11,7 @@ class AppFileInfo(response: CCloud_AppFileInfo) { val rawFileSize: Int = response.rawFileSize val persistState: ECloudStoragePersistState = response.persistState val platformsToSync: Int = response.platformsToSync + val hasPathPrefixIndex: Boolean = response.hasPathPrefixIndex() val pathPrefixIndex: Int = response.pathPrefixIndex val machineNameIndex: Int = response.machineNameIndex } diff --git a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfoTest.kt b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfoTest.kt new file mode 100644 index 00000000..3b938733 --- /dev/null +++ b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamcloud/AppFileInfoTest.kt @@ -0,0 +1,34 @@ +package `in`.dragonbra.javasteam.steam.handlers.steamcloud + +import `in`.dragonbra.javasteam.protobufs.steamclient.SteammessagesCloudSteamclient.CCloud_AppFileInfo +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertFalse +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test + +class AppFileInfoTest { + + @Test + fun hasPathPrefixIndexIsFalseWhenFieldIsMissing() { + val response = CCloud_AppFileInfo.newBuilder() + .setFileName("save.dat") + .build() + + val info = AppFileInfo(response) + + assertFalse(info.hasPathPrefixIndex) + } + + @Test + fun hasPathPrefixIndexIsTrueWhenIndexIsZero() { + val response = CCloud_AppFileInfo.newBuilder() + .setFileName("save.dat") + .setPathPrefixIndex(0) + .build() + + val info = AppFileInfo(response) + + assertTrue(info.hasPathPrefixIndex) + assertEquals(0, info.pathPrefixIndex) + } +}