package pretty

import "cloud.google.com/go/internal/pretty"

Package pretty implements a simple pretty-printer. It is intended for debugging the output of tests.

It follows pointers and produces multi-line output for complex values like slices, maps and structs.

Index

Variables

var Indent = "    "

Indent is the string output at each level of indentation.

Functions

func Diff

func Diff(want, got interface{}) (string, bool, error)

Diff compares the pretty-printed representation of two values. The second return value reports whether the two values' representations are identical. If it is false, the first return value contains the diffs.

The output labels the first value "want" and the second "got".

Diff works by invoking the "diff" command. It will only succeed in environments where "diff" is on the shell path.

func Value

func Value(v interface{}) val

Value returns a value that will print prettily when used as an argument for the %v or %s format specifiers. With no flags, struct fields and map keys with default values are omitted. With the '+' or '#' flags, all values are displayed.

This package does not detect cycles. Attempting to print a Value that contains cycles will result in unbounded recursion.

Source Files

diff.go pretty.go

Version
v0.118.3 (latest)
Published
Feb 20, 2025
Platform
linux/amd64
Imports
9 packages
Last checked
4 hours ago

Tools for package owners.