go: move app logic to xkcdreader package
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
surtur 2022-05-19 17:24:00 +02:00
parent 7550acc8ab
commit f099f43f05
Signed by: wanderer
GPG Key ID: 19CE1EC1D9E0486D
4 changed files with 43 additions and 40 deletions

23
main.go
View File

@ -4,34 +4,17 @@ import (
"fmt"
"git.dotya.ml/wanderer/go-xkcdreader/cmd"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/widget"
"git.dotya.ml/wanderer/go-xkcdreader/xkcdreader"
)
const appGreeting = "welcome to go-xkcdreader"
var version = cmd.GetShortVersion()
func main() {
cmd.Execute()
fmt.Println("Starting " + cmd.GetAppName() + " " + getVersion())
fmt.Println("Starting " + cmd.GetAppName() + " " + version)
a := app.New()
w := a.NewWindow(cmd.GetAppName())
w.SetContent(makeGreeting())
w.ShowAndRun()
xkcdreader.RunApp()
fmt.Println("Exited")
}
func makeGreeting() *widget.Label {
return widget.NewLabel(appGreeting)
}
func getVersion() string {
return version
}

View File

@ -2,28 +2,8 @@ package main
import (
"testing"
"git.dotya.ml/wanderer/go-xkcdreader/cmd"
)
func TestGreetingText(t *testing.T) {
want := "welcome to " + cmd.GetAppName()
got := makeGreeting()
if got.Text != want {
t.Errorf("Incorrect initial greeting, want: %q, got: %q", want, got.Text)
}
}
func TestLocalgetVersion(t *testing.T) {
want := version
got := getVersion()
if got != want {
t.Errorf("Incorrect version from getVersion, want: %q, got: %q", want, got)
}
}
// does this test even make sense?
func TestExecMain(t *testing.T) {
go main()

24
xkcdreader/app.go Normal file
View File

@ -0,0 +1,24 @@
package xkcdreader
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/widget"
"git.dotya.ml/wanderer/go-xkcdreader/cmd"
)
const appGreeting = "welcome to go-xkcdreader"
// RunApp performs sets up and runs the main application
func RunApp() {
a := app.New()
w := a.NewWindow(cmd.GetAppName())
w.SetContent(makeGreeting())
w.ShowAndRun()
}
// makeGreeting creates a greeting label
func makeGreeting() *widget.Label {
return widget.NewLabel(appGreeting)
}

16
xkcdreader/app_test.go Normal file
View File

@ -0,0 +1,16 @@
package xkcdreader
import (
"testing"
"git.dotya.ml/wanderer/go-xkcdreader/cmd"
)
func TestGreetingText(t *testing.T) {
want := "welcome to " + cmd.GetAppName()
got := makeGreeting()
if got.Text != want {
t.Errorf("Incorrect initial greeting, want: %q, got: %q", want, got.Text)
}
}