test(input): split tests into smaller files

This is complement to the previous commit.
It also refactors the input compile helpers to make it cleaner and more
consistent.