Unlike most of the other backports, this code couldn't be directly translated so it had to be re-implemented. Luckily, it is very simple. This implementation is a bit messy and heavy handed with potential panics, but I think it's probably fine since file names that aren't UTF-8 aren't really supported anyway. The original implementation is a lot cleaner though.
The test snapshots are (almost) all identical between the 7.5 implementation and this one. The sole exception is with the path in the snapshot_middleware::project test, since I didn't feel like adding a name parameter to snapshot_project in this implementation.
Unlike most of the other backports, this code couldn't be directly translated so it had to be re-implemented. Luckily, it is very simple. This implementation is a bit messy and heavy handed with potential panics, but I think it's probably fine since file names that aren't UTF-8 aren't really supported anyway. The original implementation is a lot cleaner though.
The test snapshots are (almost) all identical between the 7.5 implementation and this one. The sole exception is with the path in the
snapshot_middleware::project
test, since I didn't feel like adding aname
parameter tosnapshot_project
in this implementation.