Skip to content

Commit

Permalink
refactor: Structural output orientations
Browse files Browse the repository at this point in the history
  • Loading branch information
Piotr Adamczyk authored and mergify-bot committed May 11, 2021
1 parent 66e796c commit 3e10854
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
package ftl.domain

import flank.common.logLn
import ftl.api.Platform
import ftl.api.fetchOrientation
import ftl.args.AndroidArgs
import ftl.environment.common.toCliTable
import ftl.presentation.Output
import java.nio.file.Paths

interface ListAndroidOrientations {
interface ListAndroidOrientations : Output {
val configPath: String
}

operator fun ListAndroidOrientations.invoke() {
logLn(
fetchOrientation(
AndroidArgs.loadOrDefault(Paths.get(configPath)).project,
Platform.ANDROID
).toCliTable()
)
fetchOrientation(
AndroidArgs.loadOrDefault(Paths.get(configPath)).project,
Platform.ANDROID
).out()
}
16 changes: 6 additions & 10 deletions test_runner/src/main/kotlin/ftl/domain/ListIosOrientations.kt
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
package ftl.domain

import flank.common.logLn
import ftl.api.Platform
import ftl.api.fetchOrientation
import ftl.args.IosArgs
import ftl.environment.common.toCliTable
import ftl.presentation.Output
import java.nio.file.Paths

interface ListIosOrientations {
interface ListIosOrientations : Output {
var configPath: String
}

operator fun ListIosOrientations.invoke() {
// TODO move toCliTable() to presentation layer during refactor of presentation after #1728
logLn(
fetchOrientation(
IosArgs.loadOrDefault(Paths.get(configPath)).project,
Platform.IOS
).toCliTable()
)
fetchOrientation(
IosArgs.loadOrDefault(Paths.get(configPath)).project,
Platform.IOS
).out()
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package ftl.presentation.cli.firebase.test.android.orientations

import ftl.api.Orientation
import ftl.config.FtlConstants
import ftl.domain.ListAndroidOrientations
import ftl.domain.invoke
import ftl.environment.common.toCliTable
import ftl.presentation.outputLogger
import ftl.presentation.throwUnknownType
import picocli.CommandLine

@CommandLine.Command(
Expand Down Expand Up @@ -34,4 +38,9 @@ class AndroidOrientationsListCommand :
var usageHelpRequested: Boolean = false

override fun run() = invoke()

override val out = outputLogger {
@Suppress("UNCHECKED_CAST")
(this as? List<Orientation>)?.toCliTable() ?: throwUnknownType()
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ftl.environment.common
package ftl.presentation.cli.firebase.test.android.orientations

import ftl.api.Orientation
import ftl.environment.TestEnvironmentInfo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import ftl.environment.android.toCliTable
import ftl.environment.common.toCliTable
import ftl.environment.ios.toCliTable
import ftl.environment.toCliTable
import ftl.presentation.cli.firebase.test.android.orientations.toCliTable
import ftl.presentation.cli.firebase.test.locale.toCliTable

fun TestEnvironment.Android.prepareOutputString() = buildString {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package ftl.presentation.cli.firebase.test.ios.orientations

import ftl.api.Orientation
import ftl.config.FtlConstants
import ftl.domain.ListIosOrientations
import ftl.domain.invoke
import ftl.presentation.cli.firebase.test.android.orientations.toCliTable
import ftl.presentation.outputLogger
import ftl.presentation.throwUnknownType
import picocli.CommandLine

@CommandLine.Command(
Expand Down Expand Up @@ -34,4 +38,9 @@ class IosOrientationsListCommand :
var usageHelpRequested: Boolean = false

override fun run() = invoke()

override val out = outputLogger {
@Suppress("UNCHECKED_CAST")
(this as? List<Orientation>)?.toCliTable() ?: throwUnknownType()
}
}

0 comments on commit 3e10854

Please sign in to comment.