def check_negative_contain(regexp, char): reg = Regexp(regexp, case_sensitive=True) assert_false(reg.can_contain(char), '"{}" should not contain "{}"'.format(regexp, char)) reg = Regexp(regexp, case_sensitive=False) char = char.upper() assert_false( reg.can_contain(char), '"{}" (case insensitive) should not contain "{}"'.format(regexp, char))
def check_positive_contain(regexp, char): reg = Regexp(regexp, case_sensitive=True) assert_true(reg.can_contain(char), '{reg!r} should contain {chr!r}'.format(reg=regexp, chr=char)) reg = Regexp(regexp, case_sensitive=False) char = char.upper() assert_true( reg.can_contain(char), '{reg!r} (case insensitive) should contain {chr!r}'.format(reg=regexp, chr=char))
def test_group_can_contains(): source = '/some/(?P<action>[^/:.]+)/' reg = Regexp(source) assert_true( reg.can_contain('\n'), 'Whole regex "{src}" can contains {sym!r}'.format(src=source, sym='\\n')) assert_true( reg.group(0).can_contain('\n'), 'Group 0 from regex "{src}" can contains {sym!r}'.format(src=source, sym='\\n')) assert_true( reg.group('action').can_contain('\n'), 'Group "action" from regex "{src}" can contains {sym!r}'.format( src=source, sym='\\n')) assert_true( reg.group(1).can_contain('\n'), 'Group 1 from regex "{src}" can contains {sym!r}'.format(src=source, sym='\\n')) assert_false( reg.group('action').can_contain('/'), 'Group "action" from regex "{src}" CAN\'T (!) contain {sym!r}'.format( src=source, sym='/'))