File tree Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change @@ -288,4 +288,37 @@ mod tests {
288288 assert_eq ! ( sanitized. len( ) , 48 ) ;
289289 assert ! ( sanitized. chars( ) . all( |c| c == 'a' ) ) ;
290290 }
291+
292+ #[ test]
293+ fn prepare_branch_reuses_existing_reference ( ) -> color_eyre:: Result < ( ) > {
294+ let dir = TempDir :: new ( ) ?;
295+ init_git_repo ( & dir) ?;
296+
297+ let repo = git2:: Repository :: open ( dir. path ( ) ) ?;
298+ let commit = repo. head ( ) ?. peel_to_commit ( ) ?;
299+ repo. branch ( "feature/test" , & commit, false ) ?;
300+
301+ let reference = prepare_branch ( & repo, "feature/test" , Some ( "HEAD" ) ) ?;
302+
303+ assert_eq ! ( reference. name( ) , Some ( "refs/heads/feature/test" ) ) ;
304+
305+ Ok ( ( ) )
306+ }
307+
308+ #[ test]
309+ fn prepare_branch_creates_branch_from_base ( ) -> color_eyre:: Result < ( ) > {
310+ let dir = TempDir :: new ( ) ?;
311+ init_git_repo ( & dir) ?;
312+
313+ let repo = git2:: Repository :: open ( dir. path ( ) ) ?;
314+ let head = repo. head ( ) ?. peel_to_commit ( ) ?;
315+
316+ let reference = prepare_branch ( & repo, "feature/new" , Some ( "HEAD" ) ) ?;
317+ let created = repo. find_reference ( "refs/heads/feature/new" ) ?;
318+
319+ assert_eq ! ( reference. name( ) , created. name( ) ) ;
320+ assert_eq ! ( created. peel_to_commit( ) ?. id( ) , head. id( ) ) ;
321+
322+ Ok ( ( ) )
323+ }
291324}
Original file line number Diff line number Diff line change @@ -164,6 +164,21 @@ mod tests {
164164 Ok ( ( ) )
165165 }
166166
167+ #[ test]
168+ fn ensure_worktrees_dir_creates_directory ( ) -> color_eyre:: Result < ( ) > {
169+ let dir = TempDir :: new ( ) ?;
170+ let repo = init_repo ( & dir) ?;
171+
172+ let first = repo. ensure_worktrees_dir ( ) ?;
173+ assert ! ( first. exists( ) ) ;
174+ assert ! ( first. is_dir( ) ) ;
175+
176+ let second = repo. ensure_worktrees_dir ( ) ?;
177+ assert_eq ! ( first, second) ;
178+
179+ Ok ( ( ) )
180+ }
181+
167182 #[ test]
168183 fn gitignore_has_entry_detects_alternate_form ( ) {
169184 assert ! ( gitignore_has_entry( ".rsworktree\n " ) ) ;
You can’t perform that action at this time.
0 commit comments