From 2d749e3aa69d7bfedf814f59618f964fdbc300d5 Mon Sep 17 00:00:00 2001 From: Scott Chacon Date: Mon, 3 Mar 2008 14:47:01 -0800 Subject: added patch from eric goodwin for stashes and unit tests for stashes --- tests/units/test_each_conflict.rb | 49 +++++++++++++++++++++++++++++++++++++++ tests/units/test_stashes.rb | 36 ++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 tests/units/test_each_conflict.rb create mode 100644 tests/units/test_stashes.rb (limited to 'tests/units') diff --git a/tests/units/test_each_conflict.rb b/tests/units/test_each_conflict.rb new file mode 100644 index 0000000..c5c9bb4 --- /dev/null +++ b/tests/units/test_each_conflict.rb @@ -0,0 +1,49 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../test_helper' + +class TestEachConflict < Test::Unit::TestCase + + def setup + set_file_paths + #@git = Git.open(@wdir, :log => Logger.new(STDOUT)) + @git = Git.open(@wdir) + end + + def test_conflicts + in_temp_dir do |path| + g = Git.clone(@wbare, 'branch_merge_test') + Dir.chdir('branch_merge_test') do + + g.branch('new_branch').in_branch('test') do + new_file('example.txt', "1\n2\n3") + g.add + true + end + + g.branch('new_branch2').in_branch('test') do + new_file('example.txt', "1\n4\n3") + g.add + true + end + + + g.merge('new_branch') + begin + g.merge('new_branch2') + rescue + end + + g.each_conflict do |file, your, their| + assert_equal('example.txt', file) + assert_equal("1\n2\n3\n", File.read(your)) + assert_equal("1\n4\n3\n", File.read(their)) + end + + end + end + end + + + +end \ No newline at end of file diff --git a/tests/units/test_stashes.rb b/tests/units/test_stashes.rb new file mode 100644 index 0000000..2306061 --- /dev/null +++ b/tests/units/test_stashes.rb @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../test_helper' + +class TestStashes < Test::Unit::TestCase + def setup + set_file_paths + end + + def test_stash_unstash + in_temp_dir do |path| + g = Git.clone(@wbare, 'stash_test') + Dir.chdir('stash_test') do + assert_equal(0, g.branch.stashes.size) + new_file('test-file1', 'blahblahblah1') + new_file('test-file2', 'blahblahblah2') + assert(g.status.untracked.assoc('test-file1')) + + g.add + + assert(g.status.added.assoc('test-file1')) + + g.branch.stashes.save('testing') + + g.reset + assert_nil(g.status.untracked.assoc('test-file1')) + assert_nil(g.status.added.assoc('test-file1')) + + g.branch.stashes.apply + + assert(g.status.added.assoc('test-file1')) + end + end + end + +end \ No newline at end of file -- cgit