Integration tests don't require any knowledge. See the examples directory. You could add a line in an ion script there, like
echo '#test'
Then add the output you expect in it's corresponding .out file. Then you could push a PR with that. Your branch will fail if Ion produces an output that's not expected in the out file.
If you want to actually fix the issue, it should be fairly simple. There's a quote.rs module in the parser directory. It's handling the hashes at this time. Sounds like we just need to add a condition to only consider a hash as a comment if neither SQUOTE or DQUOTE flags are set.
Do you mean unescaping a tab like echo -e "\t", or tab completion? Tab completion can't really be tested by a script -- scripts don't have access to the liner crate's Context field in the shell. Tab completion-related tests would have to be written as a unit test either within liner or Ion's source code.