/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_transport_implementations.py

1st cut merge of bzr.dev r3907

Show diffs side-by-side

added added

removed removed

Lines of Context:
1252
1252
        self.failIf(t3.has('b/d'))
1253
1253
 
1254
1254
        if t1.is_readonly():
1255
 
            open('b/d', 'wb').write('newfile\n')
 
1255
            self.build_tree_contents([('b/d', 'newfile\n')])
1256
1256
        else:
1257
1257
            t2.put_bytes('d', 'newfile\n')
1258
1258
 
1338
1338
        self.assertEqual(transport.clone("/").abspath('foo'),
1339
1339
                         transport.abspath("/foo"))
1340
1340
 
 
1341
    def test_win32_abspath(self):
 
1342
        # Note: we tried to set sys.platform='win32' so we could test on
 
1343
        # other platforms too, but then osutils does platform specific
 
1344
        # things at import time which defeated us...
 
1345
        if sys.platform != 'win32':
 
1346
            raise TestSkipped(
 
1347
                'Testing drive letters in abspath implemented only for win32')
 
1348
 
 
1349
        # smoke test for abspath on win32.
 
1350
        # a transport based on 'file:///' never fully qualifies the drive.
 
1351
        transport = get_transport("file:///")
 
1352
        self.failUnlessEqual(transport.abspath("/"), "file:///")
 
1353
 
 
1354
        # but a transport that starts with a drive spec must keep it.
 
1355
        transport = get_transport("file:///C:/")
 
1356
        self.failUnlessEqual(transport.abspath("/"), "file:///C:/")
 
1357
 
1341
1358
    def test_local_abspath(self):
1342
1359
        transport = self.get_transport()
1343
1360
        try:
1420
1437
                         'to/dir/b%2525z',
1421
1438
                         'to/bar',]))
1422
1439
 
 
1440
    def test_copy_tree_to_transport(self):
 
1441
        transport = self.get_transport()
 
1442
        if not transport.listable():
 
1443
            self.assertRaises(TransportNotPossible,
 
1444
                              transport.iter_files_recursive)
 
1445
            return
 
1446
        if transport.is_readonly():
 
1447
            return
 
1448
        self.build_tree(['from/',
 
1449
                         'from/dir/',
 
1450
                         'from/dir/foo',
 
1451
                         'from/dir/bar',
 
1452
                         'from/dir/b%25z', # make sure quoting is correct
 
1453
                         'from/bar'],
 
1454
                        transport=transport)
 
1455
        from_transport = transport.clone('from')
 
1456
        to_transport = transport.clone('to')
 
1457
        to_transport.ensure_base()
 
1458
        from_transport.copy_tree_to_transport(to_transport)
 
1459
        paths = set(transport.iter_files_recursive())
 
1460
        self.assertEqual(paths,
 
1461
                    set(['from/dir/foo',
 
1462
                         'from/dir/bar',
 
1463
                         'from/dir/b%2525z',
 
1464
                         'from/bar',
 
1465
                         'to/dir/foo',
 
1466
                         'to/dir/bar',
 
1467
                         'to/dir/b%2525z',
 
1468
                         'to/bar',]))
 
1469
 
1423
1470
    def test_unicode_paths(self):
1424
1471
        """Test that we can read/write files with Unicode names."""
1425
1472
        t = self.get_transport()
1546
1593
        content = osutils.rand_bytes(200*1024)
1547
1594
        content_size = len(content)
1548
1595
        if transport.is_readonly():
1549
 
            file('a', 'w').write(content)
 
1596
            self.build_tree_contents([('a', content)])
1550
1597
        else:
1551
1598
            transport.put_bytes('a', content)
1552
1599
        def check_result_data(result_vector):