Commit Graph

16 Commits

Author SHA1 Message Date
Dave Collins 8aeb47a9ec Update license copyright years.
Several files had been updated since the listed years.  This updates
them accordingly.
2016-10-29 15:38:27 -05:00
Dave Collins 2df174808e Add support for limited mode without unsafe pkg.
This commit adds support for compiling spew without the unsafe package.
When compiled without the unsafe package, some of the more advanced
features such as invoking stringers on pointers from non-pointer
variables and unexported struct fields are not available.

By default, spew will be compiled in the limited mode for Google App
Engine since the unsafe package is not available there.  Additionally,
spew can be compiled without the unsafe package manually by specifying
the "disableunsafe" build tag.

Finally, a new package-level constant named "UnsafeDisabled" has been
exposed which can be used to programmatically determine if spew was
compiled with access to the unsafe package.
2015-06-19 15:29:34 -05:00
Tim Hockin 3e6e67c4dc Enable methods to sort map keys and spew itself as last resort
If enabled by flags, try to use methods to stringify map keys and sort on that.

If we can't use primitive sorting and we can't use methods, we can still fall
back on spew itself.  If SpewKeys is enabled, use Sprintf("%#v") to generate a
string and sort by that.
2015-04-10 08:46:42 -07:00
deads2k 1aaf839fb0 make nil maps appear different than empty maps 2015-01-19 11:34:19 -05:00
Patrick Mezard 1fdf49f1b9 config: add SortKeys option to sort native map keys before display
If ConfigState.SortKeys is true, then dump and format will sort map keys
before displaying them. Only native types (bool, ints, uint, uintptr,
string) are supported, other slices are left unchanged.

The motivation is to have more diffable output, mostly for test purpose.
2013-10-27 23:44:49 +01:00
Dave Collins 8f603f64f9 Add tests for nil slice change.
This commit adds tests for the nil slice change.
2013-09-09 20:43:39 -05:00
Dave Collins 3bcb0679af Add tests for packed nil interfaces.
This commit adds tests for nil interfaces packed inside maps and slices to
test the recently added fix for issue #12.
2013-03-27 22:50:10 -05:00
Dave Collins f2641d5e6e Add tests for structs with multiple equiv fields.
This commit adds tests for a struct which has an embedded struct pointer
and a field that is a pointer to the same object.  This ensures the cycle
detection is properly reset between fields.
2013-01-20 19:55:55 -06:00
Dave Collins 3ad8c5b5ee Add tests for sub-interfaces. 2013-01-20 15:27:57 -06:00
Dave Collins eba42209a7 Add formatter passthrough tests for non %v verbs. 2013-01-20 14:03:59 -06:00
Dave Collins 89496a6569 Add tests for types with custom Error interface. 2013-01-20 13:41:53 -06:00
Dave Collins ad1d81b355 Add tests for custom type that panics in Stringer. 2013-01-20 12:31:42 -06:00
Dave Collins 5c8d842977 Add tests for maps with multiple entries.
Previously, the tests did not include maps with more than a single entry
since the iteration order is randomized and the tests only accepted a
single valid expected value.  This commit modifies the tests to accept
multiple valid expected values and adds tests for a multi-entry map to
both Dump and Formatter.
2013-01-20 12:02:36 -06:00
Dave Collins e48df78db8 Update test summaries. 2013-01-17 21:40:54 -06:00
Dave Collins 8591790312 Add test for new %#v and %#+v Formatter flags. 2013-01-17 18:51:47 -06:00
Dave Collins 34805dbdb5 Add full suite of tests for Formatter. 2013-01-14 17:31:27 -06:00