All reachable branches in the encoding/decoding functions are now checked. We can't check every branch, because some are intentionally unreachable (if reached, would indicate an invalid str which is UB). Checked with cargo +nightly llvm-cov --html --branch --open (using https://github.com/taiki-e/cargo-llvm-cov).
Also move the tests to tests/tests.rs -- this ensures we're testing the public API in the same way it would be used when using the crate as a dependency. The library is very small so right now it doesn't make much difference, but in an upcoming PR I want to add a macro, and I think those are better to test this way.
All reachable branches in the encoding/decoding functions are now checked. We can't check every branch, because some are intentionally unreachable (if reached, would indicate an invalid
str
which is UB). Checked withcargo +nightly llvm-cov --html --branch --open
(using https://github.com/taiki-e/cargo-llvm-cov).Also move the tests to
tests/tests.rs
-- this ensures we're testing the public API in the same way it would be used when using the crate as a dependency. The library is very small so right now it doesn't make much difference, but in an upcoming PR I want to add a macro, and I think those are better to test this way.