~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_urlutils.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-08-17 18:13:57 UTC
  • mfrom: (5268.7.29 transport-segments)
  • Revision ID: pqm@pqm.ubuntu.com-20110817181357-y5q5eth1hk8bl3om
(jelmer) Allow specifying the colocated branch to use in the branch URL,
 and retrieving the branch name using ControlDir._get_selected_branch.
 (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
336
336
 
337
337
    def test_function_type(self):
338
338
        if sys.platform == 'win32':
339
 
            self.assertEqual(urlutils._win32_local_path_to_url, urlutils.local_path_to_url)
340
 
            self.assertEqual(urlutils._win32_local_path_from_url, urlutils.local_path_from_url)
 
339
            self.assertEqual(urlutils._win32_local_path_to_url,
 
340
                urlutils.local_path_to_url)
 
341
            self.assertEqual(urlutils._win32_local_path_from_url,
 
342
                urlutils.local_path_from_url)
341
343
        else:
342
 
            self.assertEqual(urlutils._posix_local_path_to_url, urlutils.local_path_to_url)
343
 
            self.assertEqual(urlutils._posix_local_path_from_url, urlutils.local_path_from_url)
 
344
            self.assertEqual(urlutils._posix_local_path_to_url,
 
345
                urlutils.local_path_to_url)
 
346
            self.assertEqual(urlutils._posix_local_path_from_url,
 
347
                urlutils.local_path_from_url)
344
348
 
345
349
    def test_posix_local_path_to_url(self):
346
350
        to_url = urlutils._posix_local_path_to_url
347
351
        self.assertEqual('file:///path/to/foo',
348
352
            to_url('/path/to/foo'))
349
353
 
 
354
        self.assertEqual('file:///path/to/foo%2Cbar',
 
355
            to_url('/path/to/foo,bar'))
 
356
 
350
357
        try:
351
358
            result = to_url(u'/path/to/r\xe4ksm\xf6rg\xe5s')
352
359
        except UnicodeError:
359
366
        from_url = urlutils._posix_local_path_from_url
360
367
        self.assertEqual('/path/to/foo',
361
368
            from_url('file:///path/to/foo'))
 
369
        self.assertEqual('/path/to/foo',
 
370
            from_url('file:///path/to/foo,branch=foo'))
362
371
        self.assertEqual(u'/path/to/r\xe4ksm\xf6rg\xe5s',
363
372
            from_url('file:///path/to/r%C3%A4ksm%C3%B6rg%C3%A5s'))
364
373
        self.assertEqual(u'/path/to/r\xe4ksm\xf6rg\xe5s',
386
395
 
387
396
        self.assertEqual('file:///', to_url('/'))
388
397
 
 
398
        self.assertEqual('file:///C:/path/to/foo%2Cbar',
 
399
            to_url('C:/path/to/foo,bar'))
389
400
        try:
390
401
            result = to_url(u'd:/path/to/r\xe4ksm\xf6rg\xe5s')
391
402
        except UnicodeError:
418
429
        self.assertEqual(u'D:/path/to/r\xe4ksm\xf6rg\xe5s',
419
430
            from_url('file:///d:/path/to/r%c3%a4ksm%c3%b6rg%c3%a5s'))
420
431
        self.assertEqual('/', from_url('file:///'))
 
432
        self.assertEqual('C:/path/to/foo',
 
433
            from_url('file:///C|/path/to/foo,branch=foo'))
421
434
 
422
435
        self.assertRaises(InvalidURL, from_url, 'file:///C:')
423
436
        self.assertRaises(InvalidURL, from_url, 'file:///c')
428
441
    def test_win32_unc_path_from_url(self):
429
442
        from_url = urlutils._win32_local_path_from_url
430
443
        self.assertEqual('//HOST/path', from_url('file://HOST/path'))
 
444
        self.assertEqual('//HOST/path',
 
445
            from_url('file://HOST/path,branch=foo'))
431
446
        # despite IE allows 2, 4, 5 and 6 slashes in URL to another machine
432
447
        # we want to use only 2 slashes
433
448
        # Firefox understand only 5 slashes in URL, but it's ugly
494
509
            split_segment_parameters_raw(",key1=val1"))
495
510
        self.assertEquals(("foo/", ["key1=val1"]),
496
511
            split_segment_parameters_raw("foo/,key1=val1"))
 
512
        self.assertEquals(("/foo", ["key1=val1"]),
 
513
            split_segment_parameters_raw("foo,key1=val1"))
497
514
        self.assertEquals(("foo/base,la=bla/other/elements", []),
498
515
            split_segment_parameters_raw("foo/base,la=bla/other/elements"))
499
516
        self.assertEquals(("foo/base,la=bla/other/elements", ["a=b"]),