~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test__chk_map.py

  • Committer: Andrew Bennetts
  • Date: 2010-01-18 07:00:11 UTC
  • mto: (4973.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4975.
  • Revision ID: andrew.bennetts@canonical.com-20100118070011-zu374wvd0lcgai5a
Move news_merge plugin from contrib to bzrlib/plugins, change it to be enabled via a 'news_merge_files' config option, move more code out of the __init__ to minimise overhead, and add lots of docstrings, add NEWS entry.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2009 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
18
18
 
19
19
from bzrlib import (
20
20
    chk_map,
21
 
    inventory,
22
21
    tests,
23
22
    )
24
23
from bzrlib.static_tuple import StaticTuple
237
236
        self.assertEqual(("sha1:1234",), node.key())
238
237
        self.assertEqual('pref\x00fo', node._search_prefix)
239
238
        self.assertEqual({'pref\x00fo\x00': ('sha1:abcd',)}, node._items)
240
 
 
241
 
 
242
 
class Test_BytesToTextKey(tests.TestCase):
243
 
 
244
 
    def assertBytesToTextKey(self, key, bytes):
245
 
        self.assertEqual(key,
246
 
                         self.module._bytes_to_text_key(bytes))
247
 
 
248
 
    def assertBytesToTextKeyRaises(self, bytes):
249
 
        # These are invalid bytes, and we want to make sure the code under test
250
 
        # raises an exception rather than segfaults, etc. We don't particularly
251
 
        # care what exception.
252
 
        self.assertRaises(Exception, self.module._bytes_to_text_key, bytes)
253
 
 
254
 
    def test_file(self):
255
 
        self.assertBytesToTextKey(('file-id', 'revision-id'),
256
 
                 'file: file-id\nparent-id\nname\nrevision-id\n'
257
 
                 'da39a3ee5e6b4b0d3255bfef95601890afd80709\n100\nN')
258
 
 
259
 
    def test_invalid_no_kind(self):
260
 
        self.assertBytesToTextKeyRaises(
261
 
                 'file  file-id\nparent-id\nname\nrevision-id\n'
262
 
                 'da39a3ee5e6b4b0d3255bfef95601890afd80709\n100\nN')
263
 
 
264
 
    def test_invalid_no_space(self):
265
 
        self.assertBytesToTextKeyRaises(
266
 
                 'file:file-id\nparent-id\nname\nrevision-id\n'
267
 
                 'da39a3ee5e6b4b0d3255bfef95601890afd80709\n100\nN')
268
 
 
269
 
    def test_invalid_too_short_file_id(self):
270
 
        self.assertBytesToTextKeyRaises('file:file-id')
271
 
 
272
 
    def test_invalid_too_short_parent_id(self):
273
 
        self.assertBytesToTextKeyRaises('file:file-id\nparent-id')
274
 
 
275
 
    def test_invalid_too_short_name(self):
276
 
        self.assertBytesToTextKeyRaises('file:file-id\nparent-id\nname')
277
 
 
278
 
    def test_dir(self):
279
 
        self.assertBytesToTextKey(('dir-id', 'revision-id'),
280
 
                 'dir: dir-id\nparent-id\nname\nrevision-id')