aboutsummaryrefslogtreecommitdiff
path: root/lib/test
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-05-25 20:00:00 +0700
committerShulhan <ms@kilabit.info>2023-05-25 20:00:00 +0700
commit83c2863122df9e550406c525cc57dfe5fb9843f2 (patch)
tree827dd5d605b346d2dde752aea258edde51e3747a /lib/test
parent6b3e0d6340b5cc4532591b73048b369e46f8e84a (diff)
downloadpakakeh.go-83c2863122df9e550406c525cc57dfe5fb9843f2.tar.xz
lib/test: use different package for example
The idea is to prevent using non-exported function in example. Case in point, in this changes the testWriter is used in example and not exported which make our test not runnable on public website. To fix that we export TestWriter with this changes.
Diffstat (limited to 'lib/test')
-rw-r--r--lib/test/example_test.go32
-rw-r--r--lib/test/test.go2
-rw-r--r--lib/test/test_test.go2
-rw-r--r--lib/test/test_writer.go16
4 files changed, 27 insertions, 25 deletions
diff --git a/lib/test/example_test.go b/lib/test/example_test.go
index 54055f02..0f768342 100644
--- a/lib/test/example_test.go
+++ b/lib/test/example_test.go
@@ -2,12 +2,14 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-package test
+package test_test
import (
"fmt"
"log"
"math/big"
+
+ "github.com/shuLhan/share/lib/test"
)
func ExampleAssert_struct() {
@@ -58,11 +60,11 @@ func ExampleAssert_struct() {
}}
var (
- tw = testWriter{}
+ tw = test.TestWriter{}
)
for _, c := range cases {
- Assert(&tw, c.desc, c.exp, c.got)
+ test.Assert(&tw, c.desc, c.exp, c.got)
fmt.Println(tw.String())
tw.Reset()
}
@@ -75,39 +77,39 @@ func ExampleAssert_struct() {
func ExampleAssert_string() {
var (
- tw = testWriter{}
+ tw = test.TestWriter{}
exp string
got string
)
exp = `a string`
got = `b string`
- Assert(&tw, ``, exp, got)
+ test.Assert(&tw, ``, exp, got)
fmt.Println(tw.String())
- exp = `func (tw *testWriter) Fatal(args ...any) { fmt.Fprint(tw, args...) }`
- got = `func (tw *testWriter) Fatalf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }`
+ exp = `func (tw *TestWriter) Fatal(args ...any) { fmt.Fprint(tw, args...) }`
+ got = `func (tw *TestWriter) Fatalf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }`
tw.Reset()
- Assert(&tw, ``, exp, got)
+ test.Assert(&tw, ``, exp, got)
fmt.Println(tw.String())
// Output:
// !!! Assert: expecting string(a string), got string(b string)
// !!! :
// --++
- // 0 - func (tw *testWriter) Fatal(args ...any) { fmt.Fprint(tw, args...) }
- // 0 + func (tw *testWriter) Fatalf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }
+ // 0 - func (tw *TestWriter) Fatal(args ...any) { fmt.Fprint(tw, args...) }
+ // 0 + func (tw *TestWriter) Fatalf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }
}
func ExampleLoadDataDir() {
var (
- listData []*Data
- data *Data
+ listData []*test.Data
+ data *test.Data
err error
name string
content []byte
)
- listData, err = LoadDataDir("testdata/")
+ listData, err = test.LoadDataDir("testdata/")
if err != nil {
log.Fatal(err)
}
@@ -145,7 +147,7 @@ func ExampleLoadDataDir() {
func ExampleLoadData() {
var (
- data *Data
+ data *test.Data
name string
content []byte
err error
@@ -161,7 +163,7 @@ func ExampleLoadData() {
// <<<
// output.
- data, err = LoadData("testdata/data1_test.txt")
+ data, err = test.LoadData("testdata/data1_test.txt")
if err != nil {
log.Fatal(err)
}
diff --git a/lib/test/test.go b/lib/test/test.go
index 5456505f..226e3471 100644
--- a/lib/test/test.go
+++ b/lib/test/test.go
@@ -38,7 +38,7 @@ func printStackTrace(w Writer, trace []byte) {
}
}
- _, ok = w.(*testWriter)
+ _, ok = w.(*TestWriter)
if !ok {
w.Log("\n!!! ERR " + string(trace[start:end]))
}
diff --git a/lib/test/test_test.go b/lib/test/test_test.go
index e25d5f6b..ff2b4a6f 100644
--- a/lib/test/test_test.go
+++ b/lib/test/test_test.go
@@ -27,7 +27,7 @@ func TestAssert(t *testing.T) {
var (
c testCase
- tw testWriter
+ tw TestWriter
got string
)
diff --git a/lib/test/test_writer.go b/lib/test/test_writer.go
index 045df891..a778e297 100644
--- a/lib/test/test_writer.go
+++ b/lib/test/test_writer.go
@@ -9,14 +9,14 @@ import (
"fmt"
)
-// testWriter implement some of testing.TB.
-type testWriter struct {
+// TestWriter write Errorx, Fatalx, and Logx to bytes.Buffer.
+type TestWriter struct {
bytes.Buffer
}
-func (tw *testWriter) Error(args ...any) {}
-func (tw *testWriter) Errorf(format string, args ...any) {}
-func (tw *testWriter) Fatal(args ...any) { fmt.Fprint(tw, args...) }
-func (tw *testWriter) Fatalf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }
-func (tw *testWriter) Log(args ...any) { fmt.Fprint(tw, args...) }
-func (tw *testWriter) Logf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }
+func (tw *TestWriter) Error(args ...any) {}
+func (tw *TestWriter) Errorf(format string, args ...any) {}
+func (tw *TestWriter) Fatal(args ...any) { fmt.Fprint(tw, args...) }
+func (tw *TestWriter) Fatalf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }
+func (tw *TestWriter) Log(args ...any) { fmt.Fprint(tw, args...) }
+func (tw *TestWriter) Logf(format string, args ...any) { fmt.Fprintf(tw, format, args...) }