You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When implementing #45 several questions (example) came up around various edge cases w.r.t delimiters
I would expect the following behavior, you should probably add tests
key="many///delims-in-a-row" prefix="" delim="/" -> "many/delims-in-a-row"
key="//delims-at-start" prefix="" delim="/" -> "delims-at-start"
key="prefix///then-delims" prefix="prefix" delim="/" -> "then-delims"
key="prefix///then-delims" prefix="prefix/" delim="/" -> "then-delims"
NOTE: All but the first one here fail in the Java v2 TM today
what if stripped contains multiple delimiters in a row? e.g. key="a///1.txt" prefix="a/"
does path_clean handle that?
off the top of my head, if there are multiple delimiters, they should be collapsed to 1. Same way that typing cd my-rust-project////////target gets the same result as typing cd my-rust-project/target
We need to clarify these edge cases and drive alignment and update the SEP if necessary. Many of them don't work the way we thought they should and actually result in errors in the current Java v2 TM. We don't want to create incompatibilities between TM implementations and make valid input for one TM suddenly invalid for another and vice versa.
There is also a test case in the SEP that is marked as being a success but actually fails currently in both Rust and Java TM:
// FIXME - figure out if this test case is valid, Java v2 TM fails with exception stating it's outside the target directory
// success_path_test("2023/Jan-1.png", Some("2023"), Some("-"), "test/Jan/1.png"),
The text was updated successfully, but these errors were encountered:
When implementing #45 several questions (example) came up around various edge cases w.r.t delimiters
We need to clarify these edge cases and drive alignment and update the SEP if necessary. Many of them don't work the way we thought they should and actually result in errors in the current Java v2 TM. We don't want to create incompatibilities between TM implementations and make valid input for one TM suddenly invalid for another and vice versa.
There is also a test case in the SEP that is marked as being a success but actually fails currently in both Rust and Java TM:
The text was updated successfully, but these errors were encountered: