test(polymarket-browse): add URL encoding unit tests
Add TestUrlEncoding class testing quote() encodes: - Space -> %20 - & -> %26 - = -> %3D - % -> %25 - + -> %2B - ( -> %28 - ) -> %29 - # -> %23
This commit is contained in:
@@ -1839,5 +1839,25 @@ class TestBrowseEvents(unittest.TestCase):
|
|||||||
self.assertIn("partial", result)
|
self.assertIn("partial", result)
|
||||||
|
|
||||||
|
|
||||||
|
class TestUrlEncoding(unittest.TestCase):
|
||||||
|
"""Tests for proper URL encoding of search queries."""
|
||||||
|
|
||||||
|
def test_quote_encodes_special_chars(self):
|
||||||
|
"""quote() should properly encode all special characters."""
|
||||||
|
from urllib.parse import quote
|
||||||
|
|
||||||
|
test_cases = [
|
||||||
|
("Team A", "Team%20A"),
|
||||||
|
("Team A & Team B", "Team%20A%20%26%20Team%20B"),
|
||||||
|
("a=b", "a%3Db"),
|
||||||
|
("100%", "100%25"),
|
||||||
|
("C++", "C%2B%2B"),
|
||||||
|
("Team (A)", "Team%20%28A%29"),
|
||||||
|
("Team#1", "Team%231"),
|
||||||
|
]
|
||||||
|
for input_str, expected in test_cases:
|
||||||
|
self.assertEqual(quote(input_str, safe=""), expected)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user