mirror of
https://github.com/ManchildProductions/UXP-Fixed.git
synced 2026-06-11 17:59:38 +00:00
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
def get_events(session):
|
|
"""Return list of key events recorded in the test_keys_page fixture."""
|
|
events = session.execute_script("return allEvents.events;") or []
|
|
# `key` values in `allEvents` may be escaped (see `escapeSurrogateHalf` in
|
|
# test_keys_wdspec.html), so this converts them back into unicode literals.
|
|
for e in events:
|
|
# example: turn "U+d83d" (6 chars) into u"\ud83d" (1 char)
|
|
if "key" in e and e["key"].startswith(u"U+"):
|
|
key = e["key"]
|
|
hex_suffix = key[key.index("+") + 1:]
|
|
e["key"] = unichr(int(hex_suffix, 16))
|
|
return events
|
|
|
|
|
|
def get_keys(input_el):
|
|
"""Get printable characters entered into `input_el`.
|
|
|
|
:param input_el: HTML input element.
|
|
"""
|
|
rv = input_el.property("value")
|
|
if rv is None:
|
|
return ""
|
|
else:
|
|
return rv
|
|
|
|
|
|
def filter_dict(source, d):
|
|
"""Filter `source` dict to only contain same keys as `d` dict.
|
|
|
|
:param source: dictionary to filter.
|
|
:param d: dictionary whose keys determine the filtering.
|
|
"""
|
|
return {k: source[k] for k in d.keys()}
|