@@ -703,12 +703,11 @@ fn create_patch<'repo>(
703
703
}
704
704
705
705
fn stripname ( name : & str ) -> & str {
706
- name. trim_start_matches ( |c : char | c. is_ascii_digit ( ) || c == '-' )
707
- . rsplit_once ( ".diff" )
708
- . map_or_else (
709
- || name. rsplit_once ( ".patch" ) . map_or ( name, |( name, _) | name) ,
710
- |( name, _) | name,
711
- )
706
+ let name = name. trim_start_matches ( |c : char | c. is_ascii_digit ( ) || c == '-' ) ;
707
+ name. rsplit_once ( ".diff" ) . map_or_else (
708
+ || name. rsplit_once ( ".patch" ) . map_or ( name, |( name, _) | name) ,
709
+ |( name, _) | name,
710
+ )
712
711
}
713
712
714
713
fn split_patch ( content : Vec < u8 > ) -> Result < ( BString , BString ) > {
@@ -738,7 +737,7 @@ fn split_patch(content: Vec<u8>) -> Result<(BString, BString)> {
738
737
mod test {
739
738
use bstr:: B ;
740
739
741
- use super :: split_patch;
740
+ use super :: { split_patch, stripname } ;
742
741
743
742
#[ test]
744
743
fn patch_without_message ( ) {
@@ -818,6 +817,24 @@ mod test {
818
817
assert_eq ! ( message, "" ) ;
819
818
assert ! ( diff. starts_with( b"--- filename.txt" ) ) ;
820
819
}
820
+
821
+ #[ test]
822
+ fn patch_name_with_numbered_order_and_patch_extension ( ) {
823
+ let name = String :: from ( "01-patch-name.patch" ) ;
824
+ assert_eq ! ( stripname( & name) , "patch-name" ) ;
825
+ }
826
+
827
+ #[ test]
828
+ fn patch_name_with_numbered_order_and_diff_extension ( ) {
829
+ let name = String :: from ( "01-patch-name.diff" ) ;
830
+ assert_eq ! ( stripname( & name) , "patch-name" ) ;
831
+ }
832
+
833
+ #[ test]
834
+ fn patch_name_with_numbered_order_and_diff_patch_extension ( ) {
835
+ let name = String :: from ( "01-patch-name.diff.patch" ) ;
836
+ assert_eq ! ( stripname( & name) , "patch-name" ) ;
837
+ }
821
838
}
822
839
823
840
#[ derive( Default , Debug ) ]
0 commit comments