~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_dirstate.py

Update to bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
from bzrlib import (
24
24
    dirstate,
25
25
    errors,
 
26
    inventory,
26
27
    osutils,
27
28
    )
28
29
from bzrlib.memorytree import MemoryTree
2514
2515
        state._discard_merge_parents()
2515
2516
        state._validate()
2516
2517
        self.assertEqual(exp_dirblocks, state._dirblocks)
 
2518
 
 
2519
 
 
2520
class Test_InvEntryToDetails(TestCaseWithDirState):
 
2521
 
 
2522
    def assertDetails(self, expected, inv_entry):
 
2523
        details = dirstate.DirState._inv_entry_to_details(inv_entry)
 
2524
        self.assertEqual(expected, details)
 
2525
        # details should always allow join() and always be a plain str when
 
2526
        # finished
 
2527
        (minikind, fingerprint, size, executable, tree_data) = details
 
2528
        self.assertIsInstance(minikind, str)
 
2529
        self.assertIsInstance(fingerprint, str)
 
2530
        self.assertIsInstance(tree_data, str)
 
2531
 
 
2532
    def test_unicode_symlink(self):
 
2533
        # In general, the code base doesn't support a target that contains
 
2534
        # non-ascii characters. So we just assert tha 
 
2535
        inv_entry = inventory.InventoryLink('link-file-id', 'name',
 
2536
                                            'link-parent-id')
 
2537
        inv_entry.revision = 'link-revision-id'
 
2538
        inv_entry.symlink_target = u'link-target'
 
2539
        details = self.assertDetails(('l', 'link-target', 0, False,
 
2540
                                      'link-revision-id'), inv_entry)