For some reason these have been broken forever. Travis was failing,
correctly. I have updated the tests to be correct to how the code
actually works.
I would also suggest that if this is merged, we stop merging PRs that
have failed test runs. Tests matter in a module like this.