github.com/matthieu/go-ethereum@v1.13.2/errs/errors_test.go (about)

     1  // Copyright 2015 The go-ethereum Authors
     2  // This file is part of the go-ethereum library.
     3  //
     4  // The go-ethereum library is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Lesser General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // The go-ethereum library is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  // GNU Lesser General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Lesser General Public License
    15  // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
    16  
    17  package errs
    18  
    19  import (
    20  	"fmt"
    21  	"testing"
    22  
    23  	"github.com/matthieu/go-ethereum/logger"
    24  )
    25  
    26  func testErrors() *Errors {
    27  	return &Errors{
    28  		Package: "TEST",
    29  		Errors: map[int]string{
    30  			0: "zero",
    31  			1: "one",
    32  		},
    33  		Level: func(i int) (l logger.LogLevel) {
    34  			if i == 0 {
    35  				l = logger.ErrorLevel
    36  			} else {
    37  				l = logger.WarnLevel
    38  			}
    39  			return
    40  		},
    41  	}
    42  }
    43  
    44  func TestErrorMessage(t *testing.T) {
    45  	err := testErrors().New(0, "zero detail %v", "available")
    46  	message := fmt.Sprintf("%v", err)
    47  	exp := "[TEST] ERROR: zero: zero detail available"
    48  	if message != exp {
    49  		t.Errorf("error message incorrect. expected %v, got %v", exp, message)
    50  	}
    51  }
    52  
    53  func TestErrorSeverity(t *testing.T) {
    54  	err0 := testErrors().New(0, "zero detail")
    55  	if !err0.Fatal() {
    56  		t.Errorf("error should be fatal")
    57  	}
    58  	err1 := testErrors().New(1, "one detail")
    59  	if err1.Fatal() {
    60  		t.Errorf("error should not be fatal")
    61  	}
    62  }