Give options more descriptive names
Test that user-supplied values are preferred to the default
Add specs for nested defaults
Move specs for invalid defaults

I couldn't think of a way to generalize this an also test both arrays
and hashes. I'll settle for a little code duplication.