File tree Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -76,6 +76,15 @@ fn make_absolute(p: path) -> path {
76
76
if path_is_absolute ( p) { ret p; } else { ret connect ( getcwd ( ) , p) ; }
77
77
}
78
78
79
+ fn split ( p : path ) -> [ path ] {
80
+ let split1 = str:: split ( p, os_fs:: path_sep as u8 ) ;
81
+ let split2 = [ ] ;
82
+ for s in split1 {
83
+ split2 += str:: split ( s, os_fs:: alt_path_sep as u8 ) ;
84
+ }
85
+ ret split2;
86
+ }
87
+
79
88
// Local Variables:
80
89
// mode: rust;
81
90
// fill-column: 78;
Original file line number Diff line number Diff line change @@ -28,3 +28,39 @@ fn file_is_dir() {
28
28
assert ( fs:: file_is_dir ( "." ) ) ;
29
29
assert ( !fs:: file_is_dir ( "test/stdtest/fs.rs" ) ) ;
30
30
}
31
+
32
+ fn ps ( ) -> str {
33
+ fs:: path_sep ( )
34
+ }
35
+
36
+ fn aps ( ) -> str {
37
+ "/"
38
+ }
39
+
40
+ #[ test]
41
+ fn split1 ( ) {
42
+ let actual = fs:: split ( "a" + ps ( ) + "b" ) ;
43
+ let expected = [ "a" , "b" ] ;
44
+ assert actual == expected;
45
+ }
46
+
47
+ #[ test]
48
+ fn split2 ( ) {
49
+ let actual = fs:: split ( "a" + aps ( ) + "b" ) ;
50
+ let expected = [ "a" , "b" ] ;
51
+ assert actual == expected;
52
+ }
53
+
54
+ #[ test]
55
+ fn split3 ( ) {
56
+ let actual = fs:: split ( ps ( ) + "a" + ps ( ) + "b" ) ;
57
+ let expected = [ "a" , "b" ] ;
58
+ assert actual == expected;
59
+ }
60
+
61
+ #[ test]
62
+ fn split4 ( ) {
63
+ let actual = fs:: split ( "a" + ps ( ) + "b" + aps ( ) + "c" ) ;
64
+ let expected = [ "a" , "b" , "c" ] ;
65
+ assert actual == expected;
66
+ }
You can’t perform that action at this time.
0 commit comments