diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_exceptions.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/test_exceptions.py b/tests/test_exceptions.py index 2efe2b2..e1c357c 100644 --- a/tests/test_exceptions.py +++ b/tests/test_exceptions.py | |||
| @@ -5,19 +5,31 @@ import pytest | |||
| 5 | def test_correct_baseclasses(): | 5 | def test_correct_baseclasses(): |
| 6 | assert issubclass(adblock.AdblockException, Exception) | 6 | assert issubclass(adblock.AdblockException, Exception) |
| 7 | assert issubclass(adblock.BlockerException, adblock.AdblockException) | 7 | assert issubclass(adblock.BlockerException, adblock.AdblockException) |
| 8 | assert issubclass(adblock.AddResourceException, adblock.AdblockException) | ||
| 9 | assert issubclass(adblock.InvalidUtf8ContentError, adblock.AddResourceException) | ||
| 10 | assert issubclass(adblock.InvalidBase64ContentError, adblock.AddResourceException) | ||
| 8 | assert issubclass(adblock.SerializationError, adblock.BlockerException) | 11 | assert issubclass(adblock.SerializationError, adblock.BlockerException) |
| 9 | assert issubclass(adblock.DeserializationError, adblock.BlockerException) | 12 | assert issubclass(adblock.DeserializationError, adblock.BlockerException) |
| 10 | assert issubclass(adblock.OptimizedFilterExistence, adblock.BlockerException) | 13 | assert issubclass(adblock.OptimizedFilterExistence, adblock.BlockerException) |
| 11 | assert issubclass(adblock.BadFilterAddUnsupported, adblock.BlockerException) | 14 | assert issubclass(adblock.BadFilterAddUnsupported, adblock.BlockerException) |
| 12 | assert issubclass(adblock.FilterExists, adblock.BlockerException) | 15 | assert issubclass(adblock.FilterExists, adblock.BlockerException) |
| 13 | assert issubclass(adblock.AddResourceError, adblock.BlockerException) | ||
| 14 | 16 | ||
| 15 | 17 | ||
| 16 | def test_add_resource_error(): | 18 | def test_add_resource_error(): |
| 17 | filter_set = adblock.FilterSet() | 19 | filter_set = adblock.FilterSet() |
| 18 | engine = adblock.Engine(filter_set=filter_set) | 20 | engine = adblock.Engine(filter_set=filter_set) |
| 19 | 21 | ||
| 20 | with pytest.raises(adblock.AddResourceError) as exc: | 22 | with pytest.raises(adblock.InvalidBase64ContentError) as exc: |
| 21 | engine.add_resource(name="aa", content_type="image/jpeg", content="111") | 23 | engine.add_resource(name="aa", content_type="image/jpeg", content="111") |
| 22 | |||
| 23 | assert "invalid base64 content" in str(exc.value) | 24 | assert "invalid base64 content" in str(exc.value) |
| 25 | |||
| 26 | with pytest.raises(adblock.InvalidUtf8ContentError) as exc: | ||
| 27 | # // Ensure any text contents are also valid utf8 | ||
| 28 | # MimeType::ApplicationJavascript | MimeType::TextPlain | MimeType::TextHtml => { | ||
| 29 | # let _ = String::from_utf8(decoded)?; | ||
| 30 | # } | ||
| 31 | # xOO6ww== => base64.b64encode('你好'.encode('gbk')) | ||
| 32 | engine.add_resource( | ||
| 33 | name="aa", content_type="application/javascript", content="xOO6ww==" | ||
| 34 | ) | ||
| 35 | assert "invalid utf content" in str(exc.value) | ||
