1 use std::path::is_separator; 2 3 use crate::proto_path::ProtoPath; 4 fs_path_to_proto_path(path: &ProtoPath) -> String5pub(crate) fn fs_path_to_proto_path(path: &ProtoPath) -> String { 6 path.to_str() 7 .chars() 8 .map(|c| if is_separator(c) { '/' } else { c }) 9 .collect() 10 } 11 12 #[cfg(test)] 13 mod test { 14 use crate::path::fs_path_to_proto_path; 15 use crate::ProtoPath; 16 17 #[test] test_fs_path_to_proto_path()18 fn test_fs_path_to_proto_path() { 19 assert_eq!( 20 "foo.proto", 21 fs_path_to_proto_path(ProtoPath::new("foo.proto").unwrap()) 22 ); 23 assert_eq!( 24 "bar/foo.proto", 25 fs_path_to_proto_path(ProtoPath::new("bar/foo.proto").unwrap()) 26 ); 27 } 28 } 29