Commits

Max Howell committed 99a89205afd
Refactor functional tests The functional tests were all in one file and were becoming untenable. This refactor allowed me to consider the divisions of the tests and as a result fill out the test matrix and discover a few missing tests.