...

Source file src/github.com/hashicorp/go-multierror/flatten_test.go

Documentation: github.com/hashicorp/go-multierror

     1  package multierror
     2  
     3  import (
     4  	"errors"
     5  	"fmt"
     6  	"reflect"
     7  	"testing"
     8  )
     9  
    10  func TestFlatten(t *testing.T) {
    11  	original := &Error{
    12  		Errors: []error{
    13  			errors.New("one"),
    14  			&Error{
    15  				Errors: []error{
    16  					errors.New("two"),
    17  					&Error{
    18  						Errors: []error{
    19  							errors.New("three"),
    20  						},
    21  					},
    22  				},
    23  			},
    24  		},
    25  	}
    26  
    27  	expected := `3 errors occurred:
    28  	* one
    29  	* two
    30  	* three
    31  
    32  `
    33  	actual := fmt.Sprintf("%s", Flatten(original))
    34  
    35  	if expected != actual {
    36  		t.Fatalf("expected: %s, got: %s", expected, actual)
    37  	}
    38  }
    39  
    40  func TestFlatten_nonError(t *testing.T) {
    41  	err := errors.New("foo")
    42  	actual := Flatten(err)
    43  	if !reflect.DeepEqual(actual, err) {
    44  		t.Fatalf("bad: %#v", actual)
    45  	}
    46  }
    47  

View as plain text