summaryrefslogtreecommitdiff
path: root/spew/spew_test.go
diff options
context:
space:
mode:
authorDave Collins <[email protected]>2013-01-20 17:53:55 -0600
committerDave Collins <[email protected]>2013-01-20 17:53:55 -0600
commit44d9c97c1ac1c523122fc4f0db8c0c364a3d1d45 (patch)
tree9e77d88379f16a44f23e4c7ab0c1f7175d609a24 /spew/spew_test.go
parent6024e0c79eec3c66cc3e1807fc6169800d3c53ea (diff)
Add tests for disable method options.
This commit adds tests for the DisableMethods and DisablePointerMethods options. All combinations of method options and Stringer interface invocation for both pointer receivers and non-pointer receivers are tested.
Diffstat (limited to 'spew/spew_test.go')
-rw-r--r--spew/spew_test.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/spew/spew_test.go b/spew/spew_test.go
index e6677dc..a8cf33e 100644
--- a/spew/spew_test.go
+++ b/spew/spew_test.go
@@ -25,7 +25,15 @@ import (
"testing"
)
+// Config states with various settings.
var scsDefault = spew.NewDefaultConfig()
+var scsNoMethods = &spew.ConfigState{Indent: " ", DisableMethods: true}
+var scsNoPmethods = &spew.ConfigState{Indent: " ", DisablePointerMethods: true}
+
+// Variables for tests on types which implement Stringer interface with and
+// without a pointer receiver.
+var ts = stringer("test")
+var tps = pstringer("test")
// spewFunc is used to identify which public function of the spew package or
// ConfigState a test applies to.
@@ -101,6 +109,14 @@ var spewTests = []spewTest{
{scsDefault, fFprintln, "", float64(6.28), "6.28\n"},
{scsDefault, fPrint, "", true, "true"},
{scsDefault, fPrintln, "", false, "false\n"},
+ {scsNoMethods, fCSFprint, "", ts, "test"},
+ {scsNoMethods, fCSFprint, "", &ts, "<*>test"},
+ {scsNoMethods, fCSFprint, "", tps, "test"},
+ {scsNoMethods, fCSFprint, "", &tps, "<*>test"},
+ {scsNoPmethods, fCSFprint, "", ts, "stringer test"},
+ {scsNoPmethods, fCSFprint, "", &ts, "<*>stringer test"},
+ {scsNoPmethods, fCSFprint, "", tps, "test"},
+ {scsNoPmethods, fCSFprint, "", &tps, "<*>stringer test"},
}
// redirStdout is a helper function to return the standard output from f as a