File: test_ecodes.py

package info (click to toggle)
python-evdev 1.1.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 340 kB
  • sloc: python: 1,576; ansic: 607; makefile: 141
file content (27 lines) | stat: -rw-r--r-- 752 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# encoding: utf-8

from evdev import ecodes


prefixes = 'KEY ABS REL SW MSC LED BTN REP SND ID EV BUS SYN FF_STATUS FF'

def to_tuples(l):
    t = lambda x: tuple(x) if isinstance(x, list) else x
    return map(t, l)

def test_equality():
    keys = []
    for i in prefixes.split():
        keys.extend(getattr(ecodes, i, {}).keys())

    assert set(keys) == set(ecodes.ecodes.values())

def test_access():
    assert ecodes.KEY_A == ecodes.ecodes['KEY_A'] == ecodes.KEY_A
    assert ecodes.KEY[ecodes.ecodes['KEY_A']] == 'KEY_A'
    assert ecodes.REL[0] == 'REL_X'

def test_overlap():
    vals_ff = set(to_tuples(ecodes.FF.values()))
    vals_ff_status = set(to_tuples(ecodes.FF_STATUS.values()))
    assert bool(vals_ff & vals_ff_status) == False