def test_no_conflict_recursive_merge(self): git = GitCmd() git.do_merge('') expected = "No branch names provided" self.assertEqual(git.output, expected) git.do_merge('octupus merge') expected = "Git Crystals does not support merging mulitple branches" self.assertEqual(git.output, expected) git.do_branch('trial') git.do_checkout('trial') G.change_location_file("Git Crystal") git.do_stage('location.json') git.do_commit('Player in Git Crystal') git.do_checkout('data') git.do_merge('trial') command = [G.GIT, '-C', G.repodir, 'branch', '-D', 'trial'] process = cw.run_process(command) expected = """Merge made by the 'recursive' strategy. location.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) """ self.assertEqual(git.output, expected)
def test_checkout_same_ref(self): git = GitCmd() git.do_branch('newbranch') command = [G.GIT, '-C', G.repodir, 'checkout', 'newbranch'] process = cw.run_process(command) git.do_checkout('newbranch') git.do_listbranches('') expected = " data\n* newbranch\n" actual = git.output command = [G.GIT, '-C', G.repodir, 'checkout', G.current_branch] process = cw.run_process(command) command = [G.GIT, '-C', G.repodir, 'branch', '-d', 'newbranch'] process = cw.run_process(command) self.assertEqual(actual, expected)
def test_merge_with_conflicts(self): git = GitCmd() git.do_branch('trial') G.change_location_file("Git Crystal") git.do_stage('location.json') git.do_commit('Player in Git Crystal') git.do_checkout('data') G.change_location_file("Stalagmite Central") git.do_stage('location.json') git.do_merge('trial') git.do_resolveleft('location.json') git.do_resolveright('location.json') git.do_stage('location.json') git.do_commit('Merge Branch Trial') git.do_status( '') # Get status message after successful merge resolution. command = [G.GIT, '-C', G.repodir, 'branch', '-D', 'trial'] process = cw.run_process(command) expected = 'No changes since last commit\n' self.assertEqual(git.output, expected)
def test_loop_exit(self): git = GitCmd() git.alive.data['alive'] = True git.alive.write() git_loop_exits1 = git.do_checkoutfile('alive.json') git_loop_exits2 = git.do_checkout('data') git_loop_exits3 = git.do_checkoutforce('data') git_loop_exits4 = git.do_merge('data') git_loop_exits5 = git.do_resolveleft('alive.json') git_loop_exits6 = git.do_resolveleft('alive.json') self.assertTrue(git_loop_exits1) self.assertTrue(git_loop_exits2) self.assertTrue(git_loop_exits3) self.assertTrue(git_loop_exits4) self.assertTrue(git_loop_exits5) self.assertTrue(git_loop_exits6)