summaryrefslogtreecommitdiff
path: root/tests/test_exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_exceptions.py')
-rw-r--r--tests/test_exceptions.py18
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
5def test_correct_baseclasses(): 5def 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
16def test_add_resource_error(): 18def 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)