/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 17:03:44 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-20071002170344-20tg0gldveoc73bb
Start tracking the per-file commit messages.
Add tests that switching selections saves the current value, and
restores the value for the new selection.

Show diffs side-by-side

added added

removed removed

Lines of Context:
392
392
        dlg = commit.CommitDialog(tree)
393
393
        diff_buffer = dlg._diff_view.buffer
394
394
        self.assertEqual('Diff for All Files', dlg._diff_label.get_text())
 
395
        self.assertEqual('File commit message',
 
396
                         dlg._file_message_expander.get_label())
 
397
        self.assertFalse(dlg._file_message_expander.get_expanded())
 
398
        self.assertFalse(dlg._file_message_expander.get_property('sensitive'))
395
399
 
396
400
        dlg._treeview_files.set_cursor((1,))
397
401
        self.assertEqual('Diff for a', dlg._diff_label.get_text())
405
409
        self.assertEqual('@@ -0,0 +1,1 @@\n', text[3])
406
410
        self.assertEqual('+contents of tree/a\n', text[4])
407
411
        self.assertEqual('\n', text[5])
 
412
        self.assertEqual('Commit message for a',
 
413
                         dlg._file_message_expander.get_label())
 
414
        self.assertTrue(dlg._file_message_expander.get_expanded())
 
415
        self.assertTrue(dlg._file_message_expander.get_property('sensitive'))
408
416
 
409
417
        dlg._treeview_files.set_cursor((2,))
410
418
        self.assertEqual('Diff for b', dlg._diff_label.get_text())
418
426
        self.assertEqual('@@ -0,0 +1,1 @@\n', text[3])
419
427
        self.assertEqual('+contents of tree/b\n', text[4])
420
428
        self.assertEqual('\n', text[5])
 
429
        self.assertEqual('Commit message for b',
 
430
                         dlg._file_message_expander.get_label())
 
431
        self.assertTrue(dlg._file_message_expander.get_expanded())
 
432
        self.assertTrue(dlg._file_message_expander.get_property('sensitive'))
 
433
 
 
434
        dlg._treeview_files.set_cursor((0,))
 
435
        self.assertEqual('Diff for All Files', dlg._diff_label.get_text())
 
436
        self.assertEqual('File commit message',
 
437
                         dlg._file_message_expander.get_label())
 
438
        self.assertFalse(dlg._file_message_expander.get_expanded())
 
439
        self.assertFalse(dlg._file_message_expander.get_property('sensitive'))
 
440
 
 
441
    def test_file_selection_message(self):
 
442
        """Selecting a file should bring up its commit message."""
 
443
        tree = self.make_branch_and_tree('tree')
 
444
        self.build_tree(['tree/a', 'tree/b/'])
 
445
        tree.add(['a', 'b'], ['a-id', 'b-id'])
 
446
 
 
447
        def get_file_text():
 
448
            buf = dlg._file_message_text_view.get_buffer()
 
449
            return buf.get_text(buf.get_start_iter(), buf.get_end_iter())
 
450
 
 
451
        def get_saved_text(path):
 
452
            """Get the saved text for a given record."""
 
453
            return dlg._files_store.get_value(dlg._files_store.get_iter(path), 5)
 
454
 
 
455
        dlg = commit.CommitDialog(tree)
 
456
        self.assertEqual('File commit message',
 
457
                         dlg._file_message_expander.get_label())
 
458
        self.assertFalse(dlg._file_message_expander.get_expanded())
 
459
        self.assertFalse(dlg._file_message_expander.get_property('sensitive'))
 
460
        self.assertEqual('', get_file_text())
 
461
 
 
462
        dlg._treeview_files.set_cursor((1,))
 
463
        self.assertEqual('Commit message for a',
 
464
                         dlg._file_message_expander.get_label())
 
465
        self.assertTrue(dlg._file_message_expander.get_expanded())
 
466
        self.assertTrue(dlg._file_message_expander.get_property('sensitive'))
 
467
        self.assertEqual('', get_file_text())
 
468
 
 
469
        self.assertEqual('', get_saved_text(1))
 
470
        dlg._file_message_text_view.get_buffer().set_text('Some text\nfor a\n')
 
471
        dlg._save_current_file_message()
 
472
        # We should have updated the ListStore with the new file commit info
 
473
        self.assertEqual('Some text\nfor a\n', get_saved_text(1))
 
474
 
 
475
        dlg._treeview_files.set_cursor((2,))
 
476
        self.assertEqual('Commit message for b/',
 
477
                         dlg._file_message_expander.get_label())
 
478
        self.assertTrue(dlg._file_message_expander.get_expanded())
 
479
        self.assertTrue(dlg._file_message_expander.get_property('sensitive'))
 
480
        self.assertEqual('', get_file_text())
 
481
 
 
482
        self.assertEqual('', get_saved_text(2))
 
483
        dlg._file_message_text_view.get_buffer().set_text('More text\nfor b\n')
 
484
        # Now switch back to 'a'. The message should be saved, and the buffer
 
485
        # should be updated with the other text
 
486
        dlg._treeview_files.set_cursor((1,))
 
487
        self.assertEqual('More text\nfor b\n', get_saved_text(2))
 
488
        self.assertEqual('Commit message for a',
 
489
                         dlg._file_message_expander.get_label())
 
490
        self.assertTrue(dlg._file_message_expander.get_expanded())
 
491
        self.assertTrue(dlg._file_message_expander.get_property('sensitive'))
 
492
        self.assertEqual('Some text\nfor a\n', get_file_text())
421
493
 
422
494
    def test_toggle_all_files(self):
423
495
        """When checking the All Files entry, it should toggle all fields"""