~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/teststatus.py

add a clean target

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
 
24
24
from bzrlib.selftest import TestCaseInTempDir
25
 
from bzrlib.revisionspec import RevisionSpec
26
25
 
27
26
class BranchStatus(TestCaseInTempDir):
28
27
    
29
28
    def test_branch_status(self): 
30
 
        """Test basic branch status"""
 
29
        """Basic 'bzr mkdir' operation"""
31
30
        from cStringIO import StringIO
32
31
        from bzrlib.status import show_status
33
32
        from bzrlib.branch import Branch
34
33
        
35
 
        b = Branch.initialize('.')
 
34
        b = Branch('.', init=True)
36
35
 
37
36
        # status with nothing
38
37
        tof = StringIO()
52
51
                           '  pending@pending-0-0\n'
53
52
                           ])
54
53
 
55
 
    def test_branch_status_revisions(self):
56
 
        """Tests branch status with revisions"""
57
 
        from cStringIO import StringIO
58
 
        from bzrlib.status import show_status
59
 
        from bzrlib.branch import Branch
60
 
        
61
 
        b = Branch.initialize('.')
62
 
 
63
 
        tof = StringIO()
64
 
        self.build_tree(['hello.c', 'bye.c'])
65
 
        b.add('hello.c')
66
 
        b.add('bye.c')
67
 
        b.commit('Test message')
68
 
 
69
 
        tof = StringIO()
70
 
        revs =[]
71
 
        revs.append(RevisionSpec(0))
72
 
        
73
 
        show_status(b, to_file=tof, revision=revs)
74
 
        
75
 
        tof.seek(0)
76
 
        self.assertEquals(tof.readlines(),
77
 
                          ['added:\n',
78
 
                           '  bye.c\n',
79
 
                           '  hello.c\n'])
80
 
 
81
 
        self.build_tree(['more.c'])
82
 
        b.add('more.c')
83
 
        b.commit('Another test message')
84
 
        
85
 
        tof = StringIO()
86
 
        revs.append(RevisionSpec(1))
87
 
        
88
 
        show_status(b, to_file=tof, revision=revs)
89
 
        
90
 
        tof.seek(0)
91
 
        self.assertEquals(tof.readlines(),
92
 
                          ['added:\n',
93
 
                           '  bye.c\n',
94
 
                           '  hello.c\n'])
95
 
 
96
 
    def test_branch_status_specific_files(self): 
97
 
        """Tests branch status with given specific files"""
98
 
        from cStringIO import StringIO
99
 
        from bzrlib.status import show_status
100
 
        from bzrlib.branch import Branch
101
 
        
102
 
        b = Branch.initialize('.')
103
 
 
104
 
        self.build_tree(['directory/','directory/hello.c', 'bye.c','test.c','dir2/'])
105
 
        b.add('directory')
106
 
        b.add('test.c')
107
 
        b.commit('testing')
108
 
        
109
 
        tof = StringIO()
110
 
        show_status(b, to_file=tof)
111
 
        tof.seek(0)
112
 
        self.assertEquals(tof.readlines(),
113
 
                          ['unknown:\n',
114
 
                           '  bye.c\n',
115
 
                           '  dir2\n',
116
 
                           '  directory/hello.c\n'
117
 
                           ])
118
 
 
119
 
        tof = StringIO()
120
 
        show_status(b, specific_files=['bye.c','test.c','absent.c'], to_file=tof)
121
 
        tof.seek(0)
122
 
        self.assertEquals(tof.readlines(),
123
 
                          ['unknown:\n',
124
 
                           '  bye.c\n'
125
 
                           ])
126
 
        
127
 
        tof = StringIO()
128
 
        show_status(b, specific_files=['directory'], to_file=tof)
129
 
        tof.seek(0)
130
 
        self.assertEquals(tof.readlines(),
131
 
                          ['unknown:\n',
132
 
                           '  directory/hello.c\n'
133
 
                           ])
134
 
        tof = StringIO()
135
 
        show_status(b, specific_files=['dir2'], to_file=tof)
136
 
        tof.seek(0)
137
 
        self.assertEquals(tof.readlines(),
138
 
                          ['unknown:\n',
139
 
                           '  dir2\n'
140
 
                           ])