@@ -584,6 +584,15 @@ def _run() -> None:
584
584
url .query_string
585
585
586
586
587
+ def test_empty_query_string_uncached (benchmark : BenchmarkFixture ) -> None :
588
+ urls = [URL (BASE_URL_STR ) for _ in range (100 )]
589
+
590
+ @benchmark
591
+ def _run () -> None :
592
+ for url in urls :
593
+ URL .query_string .wrapped (url )
594
+
595
+
587
596
def test_query (benchmark : BenchmarkFixture ) -> None :
588
597
urls = [URL (QUERY_URL_STR ) for _ in range (100 )]
589
598
@@ -613,3 +622,111 @@ def _run() -> None:
613
622
cache_non_default .pop ("host_port_subcomponent" , None )
614
623
URL_WITH_NOT_DEFAULT_PORT .host_port_subcomponent
615
624
BASE_URL .host_port_subcomponent
625
+
626
+
627
+ def test_empty_path (benchmark : BenchmarkFixture ) -> None :
628
+ """Test accessing empty path."""
629
+
630
+ @benchmark
631
+ def _run () -> None :
632
+ for _ in range (100 ):
633
+ BASE_URL .path
634
+
635
+
636
+ def test_empty_path_uncached (benchmark : BenchmarkFixture ) -> None :
637
+ """Test accessing empty path without cache."""
638
+
639
+ @benchmark
640
+ def _run () -> None :
641
+ for _ in range (100 ):
642
+ URL .path .wrapped (BASE_URL )
643
+
644
+
645
+ def test_empty_path_safe (benchmark : BenchmarkFixture ) -> None :
646
+ """Test accessing empty path safe."""
647
+
648
+ @benchmark
649
+ def _run () -> None :
650
+ for _ in range (100 ):
651
+ BASE_URL .path_safe
652
+
653
+
654
+ def test_empty_path_safe_uncached (benchmark : BenchmarkFixture ) -> None :
655
+ """Test accessing empty path safe without cache."""
656
+
657
+ @benchmark
658
+ def _run () -> None :
659
+ for _ in range (100 ):
660
+ URL .path_safe .wrapped (BASE_URL )
661
+
662
+
663
+ def test_path_safe (benchmark : BenchmarkFixture ) -> None :
664
+ """Test accessing path safe."""
665
+
666
+ @benchmark
667
+ def _run () -> None :
668
+ for _ in range (100 ):
669
+ URL_WITH_PATH .path_safe
670
+
671
+
672
+ def test_path_safe_uncached (benchmark : BenchmarkFixture ) -> None :
673
+ """Test accessing path safe without cache."""
674
+
675
+ @benchmark
676
+ def _run () -> None :
677
+ for _ in range (100 ):
678
+ URL .path_safe .wrapped (URL_WITH_PATH )
679
+
680
+
681
+ def test_empty_raw_path_qs (benchmark : BenchmarkFixture ) -> None :
682
+ """Test accessing empty raw path with query."""
683
+
684
+ @benchmark
685
+ def _run () -> None :
686
+ for _ in range (100 ):
687
+ BASE_URL .raw_path_qs
688
+
689
+
690
+ def test_empty_raw_path_qs_uncached (benchmark : BenchmarkFixture ) -> None :
691
+ """Test accessing empty raw path with query without cache."""
692
+
693
+ @benchmark
694
+ def _run () -> None :
695
+ for _ in range (100 ):
696
+ URL .raw_path_qs .wrapped (BASE_URL )
697
+
698
+
699
+ def test_raw_path_qs (benchmark : BenchmarkFixture ) -> None :
700
+ """Test accessing raw path qs without query."""
701
+
702
+ @benchmark
703
+ def _run () -> None :
704
+ for _ in range (100 ):
705
+ URL_WITH_PATH .raw_path_qs
706
+
707
+
708
+ def test_raw_path_qs_uncached (benchmark : BenchmarkFixture ) -> None :
709
+ """Test accessing raw path qs without query and without cache."""
710
+
711
+ @benchmark
712
+ def _run () -> None :
713
+ for _ in range (100 ):
714
+ URL .raw_path_qs .wrapped (URL_WITH_PATH )
715
+
716
+
717
+ def test_raw_path_qs_with_query (benchmark : BenchmarkFixture ) -> None :
718
+ """Test accessing raw path qs with query."""
719
+
720
+ @benchmark
721
+ def _run () -> None :
722
+ for _ in range (100 ):
723
+ IPV6_QUERY_URL .raw_path_qs
724
+
725
+
726
+ def test_raw_path_qs_with_query_uncached (benchmark : BenchmarkFixture ) -> None :
727
+ """Test accessing raw path qs with query and without cache."""
728
+
729
+ @benchmark
730
+ def _run () -> None :
731
+ for _ in range (100 ):
732
+ URL .raw_path_qs .wrapped (IPV6_QUERY_URL )
0 commit comments