/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to tests/test_commit.py

  • Committer: John Arbash Meinel
  • Date: 2007-10-02 16:15:58 UTC
  • mto: (322.1.1 trunk) (330.3.3 trunk)
  • mto: This revision was merged to the branch mainline in revision 368.
  • Revision ID: john@arbash-meinel.com-20071002161558-vsjd6h1diaczrxnq
We always select the All Files record in the files view,
as this will set our diff view for us.
Toggling All Files, sets the flags for all the other entries.
Added tests for all of this.

Show diffs side-by-side

added added

removed removed

Lines of Context:
188
188
        # TODO: assert that the pending box is hidden
189
189
        commit_col = dlg._treeview_files.get_column(0)
190
190
        self.assertEqual('Commit', commit_col.get_title())
 
191
        renderer = commit_col.get_cell_renderers()[0]
 
192
        self.assertTrue(renderer.get_active())
191
193
 
192
194
    def test_pending(self):
193
195
        tree = self.make_branch_and_tree('tree')
204
206
        # TODO: assert that the pending box is set to show
205
207
        commit_col = dlg._treeview_files.get_column(0)
206
208
        self.assertEqual('Commit*', commit_col.get_title())
 
209
        renderer = commit_col.get_cell_renderers()[0]
 
210
        self.assertFalse(renderer.get_active())
207
211
 
208
212
        values = [(r[0], r[1], r[2], r[3]) for r in dlg._pending_store]
209
213
        self.assertEqual([(rev_id2, '2007-10-01', 'Joe Foo', 'two')], values)
249
253
 
250
254
        dlg = commit.CommitDialog(tree)
251
255
        values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
252
 
        self.assertEqual([('a-id', 'a', True, 'a', 'added'),
 
256
        self.assertEqual([(None, None, True, 'All Files', ''),
 
257
                          ('a-id', 'a', True, 'a', 'added'),
253
258
                          ('b-id', 'b', True, 'b/', 'added'),
254
259
                          ('c-id', 'b/c', True, 'b/c', 'added'),
255
260
                         ], values)
265
270
 
266
271
        dlg = commit.CommitDialog(tree)
267
272
        values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
268
 
        self.assertEqual([('b-id', 'd', True, 'b/ => d/', 'renamed'),
 
273
        self.assertEqual([(None, None, True, 'All Files', ''),
 
274
                          ('b-id', 'd', True, 'b/ => d/', 'renamed'),
269
275
                          ('a-id', 'd/a', True, 'a => d/a', 'renamed'),
270
276
                         ], values)
271
277
 
279
285
 
280
286
        dlg = commit.CommitDialog(tree)
281
287
        values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
282
 
        self.assertEqual([('a-id', 'a', True, 'a', 'modified'),
 
288
        self.assertEqual([(None, None, True, 'All Files', ''),
 
289
                          ('a-id', 'a', True, 'a', 'modified'),
283
290
                         ], values)
284
291
 
285
292
    def test_filelist_renamed_and_modified(self):
298
305
 
299
306
        dlg = commit.CommitDialog(tree)
300
307
        values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
301
 
        self.assertEqual([('b-id', 'd', True, 'b/ => d/', 'renamed'),
 
308
        self.assertEqual([(None, None, True, 'All Files', ''),
 
309
                          ('b-id', 'd', True, 'b/ => d/', 'renamed'),
302
310
                          ('a-id', 'd/a', True, 'a => d/a', 'renamed and modified'),
303
311
                          ('c-id', 'd/c', True, 'd/c', 'modified'),
304
312
                         ], values)
320
328
 
321
329
        dlg = commit.CommitDialog(tree)
322
330
        values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
323
 
        self.assertEqual([('a-id', 'a', True, 'a => a/', 'kind changed'),
 
331
        self.assertEqual([(None, None, True, 'All Files', ''),
 
332
                          ('a-id', 'a', True, 'a => a/', 'kind changed'),
324
333
                          # ('b-id', 'c', True, 'b => c/', 'renamed and modified'),
325
334
                         ], values)
326
335
 
335
344
 
336
345
        dlg = commit.CommitDialog(tree)
337
346
        values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
338
 
        self.assertEqual([('a-id', 'a', True, 'a', 'removed'),
 
347
        self.assertEqual([(None, None, True, 'All Files', ''),
 
348
                          ('a-id', 'a', True, 'a', 'removed'),
339
349
                          ('b-id', 'b', True, 'b/', 'removed'),
340
350
                         ], values)
341
351
 
371
381
        self.assertEqual('+new contents for a\n', text[11])
372
382
        self.assertEqual('\n', text[12])
373
383
 
374
 
        self.assertEqual('Diff for whole tree', dlg._diff_label.get_text())
 
384
        self.assertEqual('Diff for All Files', dlg._diff_label.get_text())
375
385
 
376
386
    def test_file_selection(self):
377
387
        """Several things should happen when a file has been selected."""
381
391
 
382
392
        dlg = commit.CommitDialog(tree)
383
393
        diff_buffer = dlg._diff_view.buffer
384
 
        self.assertEqual('Diff for whole tree', dlg._diff_label.get_text())
 
394
        self.assertEqual('Diff for All Files', dlg._diff_label.get_text())
385
395
 
386
 
        dlg._treeview_files.set_cursor((0,))
 
396
        dlg._treeview_files.set_cursor((1,))
387
397
        self.assertEqual('Diff for a', dlg._diff_label.get_text())
388
398
        text = diff_buffer.get_text(diff_buffer.get_start_iter(),
389
399
                                    diff_buffer.get_end_iter()).splitlines(True)
396
406
        self.assertEqual('+contents of tree/a\n', text[4])
397
407
        self.assertEqual('\n', text[5])
398
408
 
399
 
        dlg._treeview_files.set_cursor((1,))
 
409
        dlg._treeview_files.set_cursor((2,))
400
410
        self.assertEqual('Diff for b', dlg._diff_label.get_text())
401
411
        text = diff_buffer.get_text(diff_buffer.get_start_iter(),
402
412
                                    diff_buffer.get_end_iter()).splitlines(True)
408
418
        self.assertEqual('@@ -0,0 +1,1 @@\n', text[3])
409
419
        self.assertEqual('+contents of tree/b\n', text[4])
410
420
        self.assertEqual('\n', text[5])
 
421
 
 
422
    def test_toggle_all_files(self):
 
423
        """When checking the All Files entry, it should toggle all fields"""
 
424
        tree = self.make_branch_and_tree('tree')
 
425
        self.build_tree(['tree/a', 'tree/b/'])
 
426
        tree.add(['a', 'b'], ['a-id', 'b-id'])
 
427
 
 
428
        dlg = commit.CommitDialog(tree)
 
429
        self.assertEqual([(None, None, True),
 
430
                          ('a-id', 'a', True),
 
431
                          ('b-id', 'b', True),
 
432
                         ], [(r[0], r[1], r[2]) for r in dlg._files_store])
 
433
 
 
434
        # TODO: jam 20071002 I'm not sure how to exactly trigger a toggle, it
 
435
        #       looks like we need to call renderer.activate() and pass an
 
436
        #       event and widget, and lots of other stuff I'm not sure what to
 
437
        #       do with. So instead, we just call toggle directly, and assume
 
438
        #       that toggle is hooked in correctly
 
439
        # column = dlg._treeview_files.get_column(0)
 
440
        # renderer = column.get_cell_renderers()[0]
 
441
 
 
442
        # Toggle a single entry should set just that entry to False
 
443
        dlg._toggle_commit(None, 1, dlg._files_store)
 
444
        self.assertEqual([(None, None, True),
 
445
                          ('a-id', 'a', False),
 
446
                          ('b-id', 'b', True),
 
447
                         ], [(r[0], r[1], r[2]) for r in dlg._files_store])
 
448
 
 
449
        # Toggling the main entry should set all entries
 
450
        dlg._toggle_commit(None, 0, dlg._files_store)
 
451
        self.assertEqual([(None, None, False),
 
452
                          ('a-id', 'a', False),
 
453
                          ('b-id', 'b', False),
 
454
                         ], [(r[0], r[1], r[2]) for r in dlg._files_store])
 
455
 
 
456
        dlg._toggle_commit(None, 2, dlg._files_store)
 
457
        self.assertEqual([(None, None, False),
 
458
                          ('a-id', 'a', False),
 
459
                          ('b-id', 'b', True),
 
460
                         ], [(r[0], r[1], r[2]) for r in dlg._files_store])
 
461
 
 
462
        dlg._toggle_commit(None, 0, dlg._files_store)
 
463
        self.assertEqual([(None, None, True),
 
464
                          ('a-id', 'a', True),
 
465
                          ('b-id', 'b', True),
 
466
                         ], [(r[0], r[1], r[2]) for r in dlg._files_store])