python-adblock

Updated Brave adblock library for Python
Log | Files | Refs | README

test_repr.py (1056B)


      1 import adblock
      2 import re
      3 
      4 
      5 def assert_acceptable_repr(obj):
      6     # Default repr is r"<[A-Za-z]+ object at 0x[0-9a-f]+>"
      7     assert "object at" not in repr(obj)
      8     assert re.match(r"[A-Z][a-zA-Z]+\(.*\)", repr(obj)) or re.match(
      9         r"([A-Z][a-zA-Z]+)?<.*>", repr(obj)
     10     )
     11 
     12 
     13 def test_has_nondefault_repr():
     14     for b in (True, False):
     15         fs = adblock.FilterSet(debug=b)
     16         assert_acceptable_repr(fs)
     17         assert repr(b) in repr(fs)
     18 
     19     fs.add_filters(["||example.com^"])
     20 
     21     e = adblock.Engine(fs)
     22     assert_acceptable_repr(e)
     23 
     24     result = e.check_network_urls(
     25         "https://example.com/picture.png", "https://example.net", "image"
     26     )
     27     assert_acceptable_repr(result)
     28     assert repr(result) == (
     29         "BlockerResult(matched={}, important={}, redirect={}, exception={}, filter={}, error={})".format(
     30             repr(result.matched),
     31             repr(result.important),
     32             repr(result.redirect),
     33             repr(result.exception),
     34             repr(result.filter),
     35             repr(result.error),
     36         )
     37     )