~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_dirstate.py

  • Committer: John Arbash Meinel
  • Date: 2010-01-13 23:06:42 UTC
  • mfrom: (4634.119.7 2.0)
  • mto: This revision was merged to the branch mainline in revision 4959.
  • Revision ID: john@arbash-meinel.com-20100113230642-gr0vg8u3qyzz3p2b
Merge bzr.stable, bringing in bug fixes #175839, #504390

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2006-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
873
873
        state = dirstate.DirState.initialize('dirstate')
874
874
        try:
875
875
            # check precondition to be sure the state does change appropriately.
876
 
            self.assertEqual(
877
 
                [(('', '', 'TREE_ROOT'), [('d', '', 0, False,
878
 
                   'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')])],
879
 
                list(state._iter_entries()))
880
 
            state.set_path_id('', 'foobarbaz')
881
 
            expected_rows = [
882
 
                (('', '', 'foobarbaz'), [('d', '', 0, False,
883
 
                   'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')])]
 
876
            root_entry = (('', '', 'TREE_ROOT'), [('d', '', 0, False, 'x'*32)])
 
877
            self.assertEqual([root_entry], list(state._iter_entries()))
 
878
            self.assertEqual(root_entry, state._get_entry(0, path_utf8=''))
 
879
            self.assertEqual(root_entry,
 
880
                             state._get_entry(0, fileid_utf8='TREE_ROOT'))
 
881
            self.assertEqual((None, None),
 
882
                             state._get_entry(0, fileid_utf8='second-root-id'))
 
883
            state.set_path_id('', 'second-root-id')
 
884
            new_root_entry = (('', '', 'second-root-id'),
 
885
                              [('d', '', 0, False, 'x'*32)])
 
886
            expected_rows = [new_root_entry]
884
887
            self.assertEqual(expected_rows, list(state._iter_entries()))
 
888
            self.assertEqual(new_root_entry, state._get_entry(0, path_utf8=''))
 
889
            self.assertEqual(new_root_entry, 
 
890
                             state._get_entry(0, fileid_utf8='second-root-id'))
 
891
            self.assertEqual((None, None),
 
892
                             state._get_entry(0, fileid_utf8='TREE_ROOT'))
885
893
            # should work across save too
886
894
            state.save()
887
895
        finally:
905
913
        state._validate()
906
914
        try:
907
915
            state.set_parent_trees([('parent-revid', rt)], ghosts=[])
908
 
            state.set_path_id('', 'foobarbaz')
 
916
            root_entry = (('', '', 'TREE_ROOT'),
 
917
                          [('d', '', 0, False, 'x'*32),
 
918
                           ('d', '', 0, False, 'parent-revid')])
 
919
            self.assertEqual(root_entry, state._get_entry(0, path_utf8=''))
 
920
            self.assertEqual(root_entry,
 
921
                             state._get_entry(0, fileid_utf8='TREE_ROOT'))
 
922
            self.assertEqual((None, None),
 
923
                             state._get_entry(0, fileid_utf8='Asecond-root-id'))
 
924
            state.set_path_id('', 'Asecond-root-id')
909
925
            state._validate()
910
926
            # now see that it is what we expected
911
 
            expected_rows = [
912
 
                (('', '', 'TREE_ROOT'),
913
 
                    [('a', '', 0, False, ''),
914
 
                     ('d', '', 0, False, 'parent-revid'),
915
 
                     ]),
916
 
                (('', '', 'foobarbaz'),
917
 
                    [('d', '', 0, False, ''),
918
 
                     ('a', '', 0, False, ''),
919
 
                     ]),
920
 
                ]
 
927
            old_root_entry = (('', '', 'TREE_ROOT'),
 
928
                              [('a', '', 0, False, ''),
 
929
                               ('d', '', 0, False, 'parent-revid')])
 
930
            new_root_entry = (('', '', 'Asecond-root-id'),
 
931
                              [('d', '', 0, False, ''),
 
932
                               ('a', '', 0, False, '')])
 
933
            expected_rows = [new_root_entry, old_root_entry]
921
934
            state._validate()
922
935
            self.assertEqual(expected_rows, list(state._iter_entries()))
 
936
            self.assertEqual(new_root_entry, state._get_entry(0, path_utf8=''))
 
937
            self.assertEqual(old_root_entry, state._get_entry(1, path_utf8=''))
 
938
            self.assertEqual((None, None),
 
939
                             state._get_entry(0, fileid_utf8='TREE_ROOT'))
 
940
            self.assertEqual(old_root_entry,
 
941
                             state._get_entry(1, fileid_utf8='TREE_ROOT'))
 
942
            self.assertEqual(new_root_entry,
 
943
                             state._get_entry(0, fileid_utf8='Asecond-root-id'))
 
944
            self.assertEqual((None, None),
 
945
                             state._get_entry(1, fileid_utf8='Asecond-root-id'))
923
946
            # should work across save too
924
947
            state.save()
925
948
        finally: