11import pytest
22from .. import assert_cookie_is_set , create_cookie
3- from webdriver .bidi .modules .network import NetworkStringValue
3+ from webdriver .bidi .modules .network import NetworkBase64Value , NetworkStringValue
44
55pytestmark = pytest .mark .asyncio
66
@@ -17,4 +17,20 @@ async def test_cookie_value_string(bidi_session, set_cookie, test_page, domain_v
1717 await set_cookie (cookie = create_cookie (domain = domain_value (), value = value ))
1818 await assert_cookie_is_set (bidi_session , value = value , domain = domain_value ())
1919
20- # TODO: test `test_cookie_value_base64`.
20+
21+ @pytest .mark .parametrize (
22+ "base64_value, decoded_value" ,
23+ [
24+ ("Zm9v" , "foo" ),
25+ ("aGVsbG8gd29ybGQ=" , "hello world" ),
26+ ])
27+ async def test_cookie_value_base64 (bidi_session , set_cookie , test_page , domain_value , base64_value , decoded_value ):
28+ value = NetworkBase64Value (base64_value )
29+
30+ await set_cookie (cookie = create_cookie (domain = domain_value (), value = value ))
31+
32+ # Valid UTF-8 base64 values are returned as string type:
33+ # https://www.w3.org/TR/webdriver-bidi/#serialize-protocol-bytes
34+ await assert_cookie_is_set (
35+ bidi_session , value = NetworkStringValue (decoded_value ), domain = domain_value ()
36+ )
0 commit comments