rust-osdev / ucs2-rs

UCS-2 conversion utilities for Rust.
Mozilla Public License 2.0
6 stars 5 forks source link

Improve test coverage #20

Closed nicholasbishop closed 6 months ago

nicholasbishop commented 6 months ago

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.

phip1611 commented 6 months ago

Thanks for working on this!

Unfortunately, I don't have that much time in the last couple of months. But I'm still happy to review