@@ -52,3 +52,52 @@ pub fn escape_path(path: &str) -> String {
52
52
pub fn escape_path ( path : & str ) -> String {
53
53
path. to_string ( )
54
54
}
55
+
56
+
57
+ #[ cfg( test) ]
58
+ mod tests {
59
+ use super :: * ;
60
+
61
+ #[ test]
62
+ fn test_normalize_path ( ) {
63
+ let path = "/c:/Users/username/Documents" ;
64
+ assert_eq ! ( normalize_path( path) , "c:/Users/username/Documents" ) ;
65
+ }
66
+
67
+ #[ test]
68
+ fn test_normalize_path_windows ( ) {
69
+ let path = "/c%3A/Users/username/Documents" ;
70
+ assert_eq ! ( normalize_path( path) , "c:/Users/username/Documents" ) ;
71
+ }
72
+
73
+ #[ test]
74
+ fn test_join_path ( ) {
75
+ let base_path = "C:/Users/username/Documents" ;
76
+ let file = "file.sol" ;
77
+ assert_eq ! ( join_path( base_path, file) , "C:/Users/username/Documents/file.sol" ) ;
78
+ }
79
+
80
+ #[ test]
81
+ fn test_slashify_path ( ) {
82
+ let path = "C:\\ Users\\ username\\ Documents" ;
83
+ assert_eq ! ( slashify_path( path) , "C:/Users/username/Documents" ) ;
84
+ }
85
+
86
+ #[ test]
87
+ fn test_slashify_path_double_slash ( ) {
88
+ let path = "C:\\ Users\\ \\ username\\ Documents" ;
89
+ assert_eq ! ( slashify_path( path) , "C:/Users/username/Documents" ) ;
90
+ }
91
+
92
+ #[ test]
93
+ fn test_escape_path ( ) {
94
+ let path = "c://Users/username/Documents" ;
95
+ assert_eq ! ( escape_path( path) , "/c%3A/Users/username/Documents" ) ;
96
+ }
97
+
98
+ #[ test]
99
+ fn test_escape_path_windows ( ) {
100
+ let path = "c://Users/username/Documents" ;
101
+ assert_eq ! ( escape_path( path) , "/c%3A/Users/username/Documents" ) ;
102
+ }
103
+ }
0 commit comments