Hopefully fix paths on Windoze?
This commit is contained in:
parent
5e1dd3fc35
commit
bec621e410
1 changed files with 40 additions and 14 deletions
|
@ -35,6 +35,40 @@ import kotlin.test.assertTrue
|
||||||
|
|
||||||
@Suppress("LargeClass")
|
@Suppress("LargeClass")
|
||||||
class FileAccessTest : TestBase() {
|
class FileAccessTest : TestBase() {
|
||||||
|
// -----> Utility methods
|
||||||
|
// These help in tests
|
||||||
|
/**
|
||||||
|
* Transforms file paths returned by
|
||||||
|
* [FileAccess.toString] for proper comparison.
|
||||||
|
*
|
||||||
|
* This method takes platform-specific restrictions and
|
||||||
|
* quirks into consideration to transform the supplied
|
||||||
|
* path. It also applies various formatting rules used
|
||||||
|
* extensively in the tests provided by this class.
|
||||||
|
*
|
||||||
|
* @param path path string to transform
|
||||||
|
* @return transformed path string
|
||||||
|
* @throws NullPointerException if [FileAccess.temporaryCacheDirectory] is `null`
|
||||||
|
* @since v1-alpha10
|
||||||
|
*/
|
||||||
|
@Throws(NullPointerException::class)
|
||||||
|
private fun transformToStringPath(path: String): String {
|
||||||
|
var string: String = path
|
||||||
|
|
||||||
|
// Replace formatting rules of this test class
|
||||||
|
string = string
|
||||||
|
.replace("+", FileAccess.temporaryCacheDirectory!!.toString())
|
||||||
|
.replace("%", File.separator)
|
||||||
|
|
||||||
|
// Apply operating system-specific updates
|
||||||
|
when (Environment.operatingSystem) {
|
||||||
|
Environment.OperatingSystem.WINDOWS -> string = "C:${string}"
|
||||||
|
else -> {}
|
||||||
|
}
|
||||||
|
|
||||||
|
return string
|
||||||
|
}
|
||||||
|
|
||||||
// -----> Tests on non-existent files
|
// -----> Tests on non-existent files
|
||||||
// These tests are executed on paths which likely do not exist
|
// These tests are executed on paths which likely do not exist
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
|
@ -49,8 +83,7 @@ class FileAccessTest : TestBase() {
|
||||||
)
|
)
|
||||||
fun toStringTest(supplyValue: String, compareValue: String) {
|
fun toStringTest(supplyValue: String, compareValue: String) {
|
||||||
assertEquals(
|
assertEquals(
|
||||||
compareValue
|
transformToStringPath(compareValue),
|
||||||
.replace("+", FileAccess.temporaryCacheDirectory!!.toString()),
|
|
||||||
FileAccess
|
FileAccess
|
||||||
.temporaryCacheDirectory!!
|
.temporaryCacheDirectory!!
|
||||||
.traverse(supplyValue)
|
.traverse(supplyValue)
|
||||||
|
@ -70,9 +103,7 @@ class FileAccessTest : TestBase() {
|
||||||
)
|
)
|
||||||
fun toStringRaw(supplyValue: String, compareValue: String) {
|
fun toStringRaw(supplyValue: String, compareValue: String) {
|
||||||
assertEquals(
|
assertEquals(
|
||||||
compareValue
|
transformToStringPath(compareValue),
|
||||||
.replace("+", FileAccess.temporaryCacheDirectory!!.toString())
|
|
||||||
.replace("%", File.separator),
|
|
||||||
FileAccess
|
FileAccess
|
||||||
.temporaryCacheDirectory!!
|
.temporaryCacheDirectory!!
|
||||||
.traverse(supplyValue)
|
.traverse(supplyValue)
|
||||||
|
@ -92,7 +123,7 @@ class FileAccessTest : TestBase() {
|
||||||
)
|
)
|
||||||
fun getBaseName(supplyValue: String, compareValue: String) {
|
fun getBaseName(supplyValue: String, compareValue: String) {
|
||||||
assertEquals(
|
assertEquals(
|
||||||
compareValue,
|
transformToStringPath(compareValue),
|
||||||
FileAccess
|
FileAccess
|
||||||
.temporaryCacheDirectory!!
|
.temporaryCacheDirectory!!
|
||||||
.traverse(supplyValue)
|
.traverse(supplyValue)
|
||||||
|
@ -112,8 +143,7 @@ class FileAccessTest : TestBase() {
|
||||||
)
|
)
|
||||||
fun parent(supplyValue: String, compareValue: String) {
|
fun parent(supplyValue: String, compareValue: String) {
|
||||||
assertEquals(
|
assertEquals(
|
||||||
compareValue
|
transformToStringPath(compareValue),
|
||||||
.replace("+", FileAccess.temporaryCacheDirectory!!.toString()),
|
|
||||||
FileAccess
|
FileAccess
|
||||||
.temporaryCacheDirectory!!
|
.temporaryCacheDirectory!!
|
||||||
.traverse(supplyValue)
|
.traverse(supplyValue)
|
||||||
|
@ -403,9 +433,7 @@ class FileAccessTest : TestBase() {
|
||||||
)
|
)
|
||||||
fun getLinkDestinationReal(supplyValue: String, compareValue: String) {
|
fun getLinkDestinationReal(supplyValue: String, compareValue: String) {
|
||||||
assertEquals(
|
assertEquals(
|
||||||
compareValue
|
transformToStringPath(compareValue),
|
||||||
.replace("+", FileAccess.temporaryCacheDirectory!!.toString())
|
|
||||||
.replace("%", File.separator),
|
|
||||||
FileAccess
|
FileAccess
|
||||||
.temporaryCacheDirectory!!
|
.temporaryCacheDirectory!!
|
||||||
.traverse("getLinkDestinationSymlinkReal.link.txt")
|
.traverse("getLinkDestinationSymlinkReal.link.txt")
|
||||||
|
@ -434,9 +462,7 @@ class FileAccessTest : TestBase() {
|
||||||
)
|
)
|
||||||
fun getLinkDestinationFake(supplyValue: String, compareValue: String) {
|
fun getLinkDestinationFake(supplyValue: String, compareValue: String) {
|
||||||
assertEquals(
|
assertEquals(
|
||||||
compareValue
|
transformToStringPath(compareValue),
|
||||||
.replace("+", FileAccess.temporaryCacheDirectory!!.toString())
|
|
||||||
.replace("%", File.separator),
|
|
||||||
FileAccess
|
FileAccess
|
||||||
.temporaryCacheDirectory!!
|
.temporaryCacheDirectory!!
|
||||||
.traverse("getLinkDestinationSymlinkFake.link.txt")
|
.traverse("getLinkDestinationSymlinkFake.link.txt")
|
||||||
|
|
Loading…
Reference in a new issue