3 require File.dirname(__FILE__) + '/../test_helper'
5 class TestMerge < Test::Unit::TestCase
10 def test_branch_and_merge
12 g = Git.clone(@wbare, 'branch_merge_test')
13 Dir.chdir('branch_merge_test') do
15 g.branch('new_branch').in_branch('test') do
16 assert_equal('new_branch', g.current_branch)
17 new_file('new_file_1', 'hello')
18 new_file('new_file_2', 'hello')
23 assert_equal('master', g.current_branch)
25 new_file('new_file_3', 'hello')
28 assert(!g.status['new_file_1']) # file is not there
30 assert(g.branch('new_branch').merge)
31 assert(g.status['new_file_1']) # file has been merged in
36 def test_branch_and_merge_two
38 g = Git.clone(@wbare, 'branch_merge_test')
39 Dir.chdir('branch_merge_test') do
41 g.branch('new_branch').in_branch('test') do
42 assert_equal('new_branch', g.current_branch)
43 new_file('new_file_1', 'hello')
44 new_file('new_file_2', 'hello')
49 g.branch('new_branch2').in_branch('test') do
50 assert_equal('new_branch2', g.current_branch)
51 new_file('new_file_3', 'hello')
52 new_file('new_file_4', 'hello')
57 g.branch('new_branch').merge('new_branch2')
58 assert(!g.status['new_file_3']) # still in master branch
60 g.branch('new_branch').checkout
61 assert(g.status['new_file_3']) # file has been merged in
63 g.branch('master').checkout
64 g.merge(g.branch('new_branch'))
65 assert(g.status['new_file_3']) # file has been merged in
71 def test_branch_and_merge_multiple
73 g = Git.clone(@wbare, 'branch_merge_test')
74 Dir.chdir('branch_merge_test') do
76 g.branch('new_branch').in_branch('test') do
77 assert_equal('new_branch', g.current_branch)
78 new_file('new_file_1', 'hello')
79 new_file('new_file_2', 'hello')
84 g.branch('new_branch2').in_branch('test') do
85 assert_equal('new_branch2', g.current_branch)
86 new_file('new_file_3', 'hello')
87 new_file('new_file_4', 'hello')
92 assert(!g.status['new_file_1']) # still in master branch
93 assert(!g.status['new_file_3']) # still in master branch
95 g.merge(['new_branch', 'new_branch2'])
97 assert(g.status['new_file_1']) # file has been merged in
98 assert(g.status['new_file_3']) # file has been merged in