diff options
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.75.0/tests/test_uncrustify/selector.py')
-rw-r--r-- | debian/uncrustify-trinity/uncrustify-trinity-0.75.0/tests/test_uncrustify/selector.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/tests/test_uncrustify/selector.py b/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/tests/test_uncrustify/selector.py new file mode 100644 index 00000000..93646257 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/tests/test_uncrustify/selector.py @@ -0,0 +1,40 @@ +# Utility class to match test filters. +# +# * @author Matthew Woehlke June 2018 +# + + +# ============================================================================= +class Selector(object): + # ------------------------------------------------------------------------- + def __init__(self, s): + class Range(object): + pass + + self.ranges = [] + for p in s.split(','): + r = Range() + if ':' in p: + r.group, p = p.split(':') + else: + r.group = None + if '-' in p: + r.lower, r.upper = map(int, p.split('-')) + else: + r.lower = int(p) + r.upper = int(p) + self.ranges.append(r) + + # ------------------------------------------------------------------------- + def test(self, name): + group, num = name.split(':') + num = int(num) + + for r in self.ranges: + if r.group is not None and r.group != group: + continue + if num < r.lower or num > r.upper: + continue + return True + + return False |