Documentation
¶
Overview ¶
Package diff provides some convenience functions for comparing text in various forms. It's primary use case is in automated testing.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Result ¶
type Result struct {
// contains filtered or unexported fields
}
Result is the result of a diff function. It may be nil, if the inputs were considered identical, or accessed via the String() method to return the diff. Any errors are returned as their textual representation via String() as well.
func AsJSON ¶
func AsJSON(expected, actual interface{}) *Result
AsJSON marshals two objects as JSON, then compares the output. If an input object is an io.Reader, it is treated as a JSON stream. If it is a []byte or json.RawMessage, it is treated as raw JSON. Any raw JSON source is unmarshaled then remarshaled with indentation for normalization and comparison.
func Interface ¶
func Interface(expected, actual interface{}) *Result
Interface compares two objects with reflect.DeepEqual, and if they differ, it returns a diff of the spew.Dump() outputs
func JSON ¶
JSON unmarshals two JSON strings, then calls AsJSON on them. As a special case, empty byte arrays are unmarshaled to nil.
func TextSlices ¶
TextSlices compares two slices of text, treating each element as a line of text. Newlines are added to each element, if they are found to be missing.