From d6e8e8656287400525f01f06d1fd9b85596c7df7 Mon Sep 17 00:00:00 2001 From: James <40496186+kuwas@users.noreply.github.com> Date: Tue, 10 Dec 2019 01:49:35 -0500 Subject: [PATCH] feat(tools): add tools framework library package --- go.mod | 8 ++++++++ go.sum | 23 +++++++++++++++++++++++ src/tools/default.go | 14 ++++++++++++++ src/tools/describe.go | 13 +++++++++++++ src/tools/should.go | 9 +++++++++ src/tools/suite.go | 15 +++++++++++++++ src/tools/title.go | 12 ++++++++++++ 7 files changed, 94 insertions(+) create mode 100644 go.mod create mode 100644 go.sum create mode 100644 src/tools/default.go create mode 100644 src/tools/describe.go create mode 100644 src/tools/should.go create mode 100644 src/tools/suite.go create mode 100644 src/tools/title.go diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..ab3348b --- /dev/null +++ b/go.mod @@ -0,0 +1,8 @@ +module github.com/kuwas-io/etc.commons.go + +go 1.13 + +require ( + github.com/onsi/ginkgo v1.10.3 + github.com/onsi/gomega v1.7.1 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..b9a629b --- /dev/null +++ b/go.sum @@ -0,0 +1,23 @@ +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3 h1:OoxbjfXVZyod1fmWYhI7SEyaD8B00ynP3T+D5GiyHOY= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.7.1 h1:K0jcRCwNQM3vFGh1ppMtDh/+7ApJrjldlX8fA0jDTLQ= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd h1:nTDtHvHSdCn1m6ITfMRqtOd/9+7a3s8RBNOZ3eYZzJA= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e h1:o3PsSEY8E4eXWkXrIP9YJALUkVZqzHJT5DOasTyn8Vs= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/src/tools/default.go b/src/tools/default.go new file mode 100644 index 0000000..94906d8 --- /dev/null +++ b/src/tools/default.go @@ -0,0 +1,14 @@ +/** @imports */ +package tools +import ( "io/ioutil" ) + +/** @parameters */ +var title = "Tools" + +/** @exports */ +func Default( s string ) ( string , error ) { + var e error + var o [] byte + if o , e = ioutil.ReadFile( s ) ; e != nil { return "" , e } + return string( o ) , nil +} diff --git a/src/tools/describe.go b/src/tools/describe.go new file mode 100644 index 0000000..4067b42 --- /dev/null +++ b/src/tools/describe.go @@ -0,0 +1,13 @@ +/** @imports */ +package tools +import ( "github.com/onsi/ginkgo" ) + +/** @parameters */ +/** @exports */ +func Describe( s string , c func() , b func() , a func() ) bool { + var t = Title( [] string { s } , true ) + return ginkgo.Describe( t , func() { + ginkgo.BeforeEach( b ) ; c() ; + ginkgo.AfterEach( a ) ; + }) +} diff --git a/src/tools/should.go b/src/tools/should.go new file mode 100644 index 0000000..92928e4 --- /dev/null +++ b/src/tools/should.go @@ -0,0 +1,9 @@ +/** @imports */ +package tools +import ( "github.com/onsi/ginkgo" ) + +/** @parameters */ +/** @exports */ +func Should( s string , c func() ) bool { + return ginkgo.It( "should return results " + s , c ) +} diff --git a/src/tools/suite.go b/src/tools/suite.go new file mode 100644 index 0000000..bb6a88f --- /dev/null +++ b/src/tools/suite.go @@ -0,0 +1,15 @@ +/** @imports */ +package tools +import ( + "github.com/onsi/ginkgo" + "github.com/onsi/gomega" + "testing" +) + +/** @parameters */ +/** @exports */ +func Suite( s string , c * testing.T ) bool { + var t = Title( [] string { s } , false ) + gomega.RegisterFailHandler( ginkgo.Fail ) + return ginkgo.RunSpecs( c , t ) +} diff --git a/src/tools/title.go b/src/tools/title.go new file mode 100644 index 0000000..ff1aced --- /dev/null +++ b/src/tools/title.go @@ -0,0 +1,12 @@ +/** @imports */ +package tools +import ( "strings" ) + +/** @parameters */ +/** @exports */ +func Title( s [] string , t bool ) string { + var d = " ยป" + var o = strings.Join( s , d ) + if t { o += d } + return o +}