Add tests

Is this likely to be large enough for the encrypted data? As we're breaking backward compatibility, is there a disadvantage to using a `TextField` as the base instead?