from skyvern.utils.url_validators import encode_url def test_encode_url_basic(): """Test basic URL encoding with simple path""" url = "https://example.com/path with spaces" expected = "https://example.com/path%20with%20spaces" assert encode_url(url) == expected def test_encode_url_with_query_params(): """Test URL encoding with query parameters""" url = "https://example.com/search?q=hello world&type=test" expected = "https://example.com/search?q=hello%20world&type=test" assert encode_url(url) == expected def test_encode_url_with_special_chars(): """Test URL encoding with special characters""" url = "https://example.com/path/with/special#chars?param=value&other=test@123" expected = "https://example.com/path/with/special#chars?param=value&other=test@123" assert encode_url(url) == expected def test_encode_url_with_pre_encoded_chars(): """Test URL encoding with pre-encoded characters in query parameters""" url = "https://example.com/search?q=hello world&type=test%20test" expected = "https://example.com/search?q=hello%20world&type=test%20test" assert encode_url(url) == expected