...

Source file src/errors/errors_test.go

Documentation: errors

		 1  // Copyright 2011 The Go Authors. All rights reserved.
		 2  // Use of this source code is governed by a BSD-style
		 3  // license that can be found in the LICENSE file.
		 4  
		 5  package errors_test
		 6  
		 7  import (
		 8  	"errors"
		 9  	"fmt"
		10  	"testing"
		11  )
		12  
		13  func TestNewEqual(t *testing.T) {
		14  	// Different allocations should not be equal.
		15  	if errors.New("abc") == errors.New("abc") {
		16  		t.Errorf(`New("abc") == New("abc")`)
		17  	}
		18  	if errors.New("abc") == errors.New("xyz") {
		19  		t.Errorf(`New("abc") == New("xyz")`)
		20  	}
		21  
		22  	// Same allocation should be equal to itself (not crash).
		23  	err := errors.New("jkl")
		24  	if err != err {
		25  		t.Errorf(`err != err`)
		26  	}
		27  }
		28  
		29  func TestErrorMethod(t *testing.T) {
		30  	err := errors.New("abc")
		31  	if err.Error() != "abc" {
		32  		t.Errorf(`New("abc").Error() = %q, want %q`, err.Error(), "abc")
		33  	}
		34  }
		35  
		36  func ExampleNew() {
		37  	err := errors.New("emit macho dwarf: elf header corrupted")
		38  	if err != nil {
		39  		fmt.Print(err)
		40  	}
		41  	// Output: emit macho dwarf: elf header corrupted
		42  }
		43  
		44  // The fmt package's Errorf function lets us use the package's formatting
		45  // features to create descriptive error messages.
		46  func ExampleNew_errorf() {
		47  	const name, id = "bimmler", 17
		48  	err := fmt.Errorf("user %q (id %d) not found", name, id)
		49  	if err != nil {
		50  		fmt.Print(err)
		51  	}
		52  	// Output: user "bimmler" (id 17) not found
		53  }
		54  

View as plain text