66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
// Copyright (c) 2013-2014 Conformal Systems LLC.
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package btcscript_test
|
|
|
|
import (
|
|
"errors"
|
|
"io"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/conformal/btcscript"
|
|
)
|
|
|
|
func TestSetLogWriter(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
w io.Writer
|
|
level string
|
|
expected error
|
|
}{
|
|
{
|
|
name: "nil writer",
|
|
w: nil,
|
|
level: "trace",
|
|
expected: errors.New("nil writer"),
|
|
},
|
|
{
|
|
name: "invalid log level",
|
|
w: os.Stdout,
|
|
level: "wrong",
|
|
expected: errors.New("invalid log level"),
|
|
},
|
|
{
|
|
name: "use off level",
|
|
w: os.Stdout,
|
|
level: "off",
|
|
expected: errors.New("min level can't be greater than max. Got min: 6, max: 5"),
|
|
},
|
|
{
|
|
name: "pass",
|
|
w: os.Stdout,
|
|
level: "debug",
|
|
expected: nil,
|
|
},
|
|
}
|
|
|
|
t.Logf("Running %d tests", len(tests))
|
|
for i, test := range tests {
|
|
err := btcscript.SetLogWriter(test.w, test.level)
|
|
if err != nil {
|
|
if err.Error() != test.expected.Error() {
|
|
t.Errorf("SetLogWriter #%d (%s) wrong result\n"+
|
|
"got: %v\nwant: %v", i, test.name, err,
|
|
test.expected)
|
|
}
|
|
} else {
|
|
if test.expected != nil {
|
|
t.Errorf("SetLogWriter #%d (%s) wrong result\n"+
|
|
"got: %v\nwant: %v", i, test.name, err,
|
|
test.expected)
|
|
}
|
|
}
|
|
}
|
|
}
|