Integration tests

Includes positive and negative checks, with automatic discovery of test cases in the `test-data` directory.
This may seem odd, but the documentation for `text` explicitly states that it treats the input as having height one.