3 require File.dirname(__FILE__) + '/../test_helper'
5 class TestIndexOps < Test::Unit::TestCase
14 g = Git.clone(@wbare, 'new')
16 assert_equal('100644', g.status['example.txt'].mode_index)
18 new_file('test-file', 'blahblahblah')
19 assert(g.status.untracked.assoc('test-file'))
22 assert(g.status.added.assoc('test-file'))
23 assert(!g.status.untracked.assoc('test-file'))
24 assert(!g.status.changed.assoc('example.txt'))
26 new_file('example.txt', 'hahahaha')
27 assert(g.status.changed.assoc('example.txt'))
30 assert(g.status.changed.assoc('example.txt'))
32 g.commit('my message')
33 assert(!g.status.changed.assoc('example.txt'))
34 assert(!g.status.added.assoc('test-file'))
35 assert(!g.status.untracked.assoc('test-file'))
36 assert_equal('hahahaha', g.status['example.txt'].blob.contents)
43 g = Git.clone(@wbare, 'new')
46 new_file('test-file1', 'blahblahblah1')
47 new_file('test-file2', 'blahblahblah2')
48 assert(g.status.untracked.assoc('test-file1'))
50 g.add(['test-file1', 'test-file2'])
51 assert(g.status.added.assoc('test-file1'))
52 assert(g.status.added.assoc('test-file1'))
53 assert(!g.status.untracked.assoc('test-file1'))
55 g.commit('my message')
56 assert(!g.status.added.assoc('test-file1'))
57 assert(!g.status.untracked.assoc('test-file1'))
58 assert_equal('blahblahblah1', g.status['test-file1'].blob.contents)
65 g = Git.clone(@wbare, 'remove_test')
66 Dir.chdir('remove_test') do
67 assert(g.status['example.txt'])
68 g.remove('example.txt')
69 assert(g.status.deleted.assoc('example.txt'))
70 g.commit('deleted file')
71 assert(!g.status['example.txt'])
78 g = Git.clone(@wbare, 'reset_test')
79 Dir.chdir('reset_test') do
80 new_file('test-file1', 'blahblahblah1')
81 new_file('test-file2', 'blahblahblah2')
82 assert(g.status.untracked.assoc('test-file1'))
84 g.add(['test-file1', 'test-file2'])
85 assert(!g.status.untracked.assoc('test-file1'))
88 assert(g.status.untracked.assoc('test-file1'))
89 assert(!g.status.added.assoc('test-file1'))