~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_store.py

  • Committer: John Arbash Meinel
  • Date: 2008-08-25 21:50:11 UTC
  • mfrom: (0.11.3 tools)
  • mto: This revision was merged to the branch mainline in revision 3659.
  • Revision ID: john@arbash-meinel.com-20080825215011-de9esmzgkue3e522
Merge in Lukáš's helper scripts.
Update the packaging documents to describe how to do the releases
using bzr-builddeb to package all distro platforms
simultaneously.

Show diffs side-by-side

added added

removed removed

Lines of Context:
398
398
 
399
399
    def test_escaped_uppercase(self):
400
400
        """Uppercase letters are escaped for safety on Windows"""
401
 
        my_store = store.TransportStore(MemoryTransport(), escaped=True)
 
401
        my_store = store.TransportStore(MemoryTransport(), prefixed=True,
 
402
            escaped=True)
402
403
        # a particularly perverse file-id! :-)
403
 
        self.assertEquals(my_store._escape_file_id('C:<>'), '%43%3a%3c%3e')
 
404
        self.assertEquals(my_store._relpath('C:<>'), 'be/%2543%253a%253c%253e')
404
405
 
405
406
 
406
407
class TestVersionFileStore(TestCaseWithTransport):
407
408
 
 
409
    def get_scope(self):
 
410
        return self._transaction
 
411
 
408
412
    def setUp(self):
409
413
        super(TestVersionFileStore, self).setUp()
410
414
        self.vfstore = store.versioned.VersionedFileStore(MemoryTransport())
 
415
        self.vfstore.get_scope = self.get_scope
 
416
        self._transaction = None
411
417
 
412
418
    def test_get_weave_registers_dirty_in_write(self):
413
 
        transaction = transactions.WriteTransaction()
414
 
        vf = self.vfstore.get_weave_or_empty('id', transaction)
415
 
        transaction.finish()
416
 
        self.assertRaises(errors.OutSideTransaction, vf.add_lines, 'b', [], [])
417
 
        transaction = transactions.WriteTransaction()
418
 
        vf = self.vfstore.get_weave('id', transaction)
419
 
        transaction.finish()
420
 
        self.assertRaises(errors.OutSideTransaction, vf.add_lines, 'b', [], [])
421
 
 
422
 
    def test_get_weave_or_empty_readonly_fails(self):
423
 
        transaction = transactions.ReadOnlyTransaction()
424
 
        vf = self.assertRaises(errors.ReadOnlyError,
425
 
                               self.vfstore.get_weave_or_empty,
426
 
                               'id',
427
 
                               transaction)
 
419
        self._transaction = transactions.WriteTransaction()
 
420
        vf = self.vfstore.get_weave_or_empty('id', self._transaction)
 
421
        self._transaction.finish()
 
422
        self._transaction = None
 
423
        self.assertRaises(errors.OutSideTransaction, vf.add_lines, 'b', [], [])
 
424
        self._transaction = transactions.WriteTransaction()
 
425
        vf = self.vfstore.get_weave('id', self._transaction)
 
426
        self._transaction.finish()
 
427
        self._transaction = None
 
428
        self.assertRaises(errors.OutSideTransaction, vf.add_lines, 'b', [], [])
428
429
 
429
430
    def test_get_weave_readonly_cant_write(self):
430
 
        transaction = transactions.WriteTransaction()
431
 
        vf = self.vfstore.get_weave_or_empty('id', transaction)
432
 
        transaction.finish()
433
 
        transaction = transactions.ReadOnlyTransaction()
434
 
        vf = self.vfstore.get_weave_or_empty('id', transaction)
 
431
        self._transaction = transactions.WriteTransaction()
 
432
        vf = self.vfstore.get_weave_or_empty('id', self._transaction)
 
433
        self._transaction.finish()
 
434
        self._transaction = transactions.ReadOnlyTransaction()
 
435
        vf = self.vfstore.get_weave_or_empty('id', self._transaction)
435
436
        self.assertRaises(errors.ReadOnlyError, vf.add_lines, 'b', [], [])
436
437
 
 
438
    def test___iter__escaped(self):
 
439
        self.vfstore = store.versioned.VersionedFileStore(MemoryTransport(),
 
440
            prefixed=True, escaped=True)
 
441
        self.vfstore.get_scope = self.get_scope
 
442
        self._transaction = transactions.WriteTransaction()
 
443
        vf = self.vfstore.get_weave_or_empty(' ', self._transaction)
 
444
        vf.add_lines('a', [], [])
 
445
        del vf
 
446
        self._transaction.finish()
 
447
        self.assertEqual([' '], list(self.vfstore))