502
502
def test_split_segment_parameters_raw(self):
503
503
split_segment_parameters_raw = urlutils.split_segment_parameters_raw
504
# Check relative references with absolute paths
504
505
self.assertEquals(("/some/path", []),
505
506
split_segment_parameters_raw("/some/path"))
506
507
self.assertEquals(("/some/path", ["tip"]),
511
512
split_segment_parameters_raw("/somedir/path,heads%2Ftip"))
512
513
self.assertEquals(("/somedir/path", ["heads%2Ftip", "bar"]),
513
514
split_segment_parameters_raw("/somedir/path,heads%2Ftip,bar"))
514
self.assertEquals(("/", ["key1=val1"]),
515
# Check relative references with relative paths
516
self.assertEquals(("", ["key1=val1"]),
515
517
split_segment_parameters_raw(",key1=val1"))
516
518
self.assertEquals(("foo/", ["key1=val1"]),
517
519
split_segment_parameters_raw("foo/,key1=val1"))
518
self.assertEquals(("/foo", ["key1=val1"]),
520
self.assertEquals(("foo", ["key1=val1"]),
519
521
split_segment_parameters_raw("foo,key1=val1"))
520
522
self.assertEquals(("foo/base,la=bla/other/elements", []),
521
523
split_segment_parameters_raw("foo/base,la=bla/other/elements"))
522
524
self.assertEquals(("foo/base,la=bla/other/elements", ["a=b"]),
523
525
split_segment_parameters_raw("foo/base,la=bla/other/elements,a=b"))
526
# TODO: Check full URLs as well as relative references
525
528
def test_split_segment_parameters(self):
526
529
split_segment_parameters = urlutils.split_segment_parameters
530
# Check relative references with absolute paths
527
531
self.assertEquals(("/some/path", {}),
528
532
split_segment_parameters("/some/path"))
529
533
self.assertEquals(("/some/path", {"branch": "tip"}),
538
542
"/somedir/path,ref=heads%2Ftip,key1=val1"))
539
543
self.assertEquals(("/somedir/path", {"ref": "heads%2F=tip"}),
540
544
split_segment_parameters("/somedir/path,ref=heads%2F=tip"))
541
self.assertEquals(("/", {"key1": "val1"}),
545
# Check relative references with relative paths
546
self.assertEquals(("", {"key1": "val1"}),
542
547
split_segment_parameters(",key1=val1"))
543
548
self.assertEquals(("foo/", {"key1": "val1"}),
544
549
split_segment_parameters("foo/,key1=val1"))
547
552
self.assertEquals(("foo/base,key1=val1/other/elements",
548
553
{"key2": "val2"}), split_segment_parameters(
549
554
"foo/base,key1=val1/other/elements,key2=val2"))
555
# TODO: Check full URLs as well as relative references
551
557
def test_win32_strip_local_trailing_slash(self):
552
558
strip = urlutils._win32_strip_local_trailing_slash