blob: 003bba4294105eb2757bfbe9e4f808b4ea13047c [file] [log] [blame]
import pytest
from webdriver import error
from tests.perform_actions.support.refine import get_keys
@pytest.mark.parametrize("value", [
(u"\U0001F604"),
(u"\U0001F60D"),
(u"\u0BA8\u0BBF"),
(u"\u1100\u1161\u11A8"),
])
def test_codepoint_keys_behave_correctly(session, key_reporter, key_chain, value):
# Not using key_chain.send_keys() because we always want to treat value as
# one character here. `len(value)` varies by platform for non-BMP characters,
# so we don't want to iterate over value.
key_chain \
.key_down(value) \
.key_up(value) \
.perform()
# events sent by major browsers are inconsistent so only check key value
assert get_keys(key_reporter) == value
@pytest.mark.parametrize("value", [
(u"fa"),
(u"\u0BA8\u0BBFb"),
(u"\u0BA8\u0BBF\u0BA8"),
(u"\u1100\u1161\u11A8c")
])
def test_invalid_multiple_codepoint_keys_fail(session, key_reporter, key_chain, value):
with pytest.raises(error.InvalidArgumentException):
key_chain \
.key_down(value) \
.key_up(value) \
.perform()