Merge pull request #1 from adiwg/master

Merge upstream.
Add tests, update gem description.
Merge pull request #2 from jlblcc/master

Add tests.