Пример #1
0
def test_function_simple_match():
    code = 'm.group(0)'
    match = re.search(r'(ala)', 'QalaQ')

    result = subst._parse_args__eval_replacement(code)

    assert type(result) is types.FunctionType
    assert result(match) == 'ala'
Пример #2
0
    def test_function_simple_match(self):
        code = 'm.group(0)'
        match = re.search(r'(ala)', 'QalaQ')

        result = subst._parse_args__eval_replacement(code)

        self.assertEqual(type(result), types.FunctionType)
        self.assertEqual(result(match), 'ala')
def test_function_simple_match():
    code = 'm.group(0)'
    match = re.search(r'(ala)', 'QalaQ')

    result = subst._parse_args__eval_replacement(code)

    assert type(result) is types.FunctionType
    assert result(match) == 'ala'
Пример #4
0
def test_builtins_available():
    code = 'str(pow(int(m.group(0)), 2))'

    result = subst._parse_args__eval_replacement(code)

    data_in = 'Qala has 2 cats i 4 dogsQ'
    data_out = re.sub(r'(\d)', result, data_in)

    assert data_out == 'Qala has 4 cats i 16 dogsQ'
Пример #5
0
def test_regexp_replace():
    code = 'm.group(0).upper()'

    result = subst._parse_args__eval_replacement(code)

    data_in = 'Qala has catQ'
    data_out = re.sub(r'([am])', result, data_in)

    assert data_out == 'QAlA hAs cAtQ'
Пример #6
0
def test_simple_replace():
    code = '""'

    result = subst._parse_args__eval_replacement(code)

    data_in = 'QalaQ'
    data_out = re.sub(r'(ala)', result, data_in)

    assert data_out == 'QQ'
Пример #7
0
    def test_three_groups(self):
        code = 'str(sum(map(int, m.groups()))) + " animals"'

        result = subst._parse_args__eval_replacement(code)

        data_in = 'Qala has 2 cats, 4 dogs i 7 chickensQ'
        data_out = re.sub(r'(\d).*(\d).*(\d).*Q$', result, data_in)

        self.assertEqual(data_out, 'Qala has 13 animals')
Пример #8
0
def test_three_groups():
    code = 'str(sum(map(int, m.groups()))) + " animals"'

    result = subst._parse_args__eval_replacement(code)

    data_in = 'Qala has 2 cats, 4 dogs i 7 chickensQ'
    data_out = re.sub(r'(\d).*(\d).*(\d).*Q$', result, data_in)

    assert data_out == 'Qala has 13 animals'
Пример #9
0
    def test_builtins_available(self):
        code = 'str(pow(int(m.group(0)), 2))'

        result = subst._parse_args__eval_replacement(code)

        data_in = 'Qala has 2 cats i 4 dogsQ'
        data_out = re.sub(r'(\d)', result, data_in)

        self.assertEqual(data_out, 'Qala has 4 cats i 16 dogsQ')
Пример #10
0
    def test_simple_replace(self):
        code = '""'

        result = subst._parse_args__eval_replacement(code)

        data_in = 'QalaQ'
        data_out = re.sub(r'(ala)', result, data_in)

        self.assertEqual(data_out, 'QQ')
Пример #11
0
    def test_regexp_replace(self):
        code = 'm.group(0).upper()'

        result = subst._parse_args__eval_replacement(code)

        data_in = 'Qala has catQ'
        data_out = re.sub(r'([am])', result, data_in)

        self.assertEqual(data_out, 'QAlA hAs cAtQ')
def test_simple_replace():
    code = '""'

    result = subst._parse_args__eval_replacement(code)

    data_in = 'QalaQ'
    data_out = re.sub(r'(ala)', result, data_in)

    assert data_out == 'QQ'
Пример #13
0
    def test_invalid_code_syntax_error(self):
        code = 'in = 3'

        result = subst._parse_args__eval_replacement(code)

        self.assertEqual(type(result), types.FunctionType)
        if IS_PY2:
            self.assertRaisesRegexp(TypeError, r'takes exactly 1 argument', result)
        else:
            self.assertRaisesRegexp(TypeError, r'missing 1 required positional argument', result)
        self.assertRaises(SyntaxError, lambda: result('a'))
def test_invalid_code_name_error():
    code = 'asd'

    result = subst._parse_args__eval_replacement(code)

    assert type(result) is types.FunctionType
    try:
        result()
    except TypeError as exc:
        if IS_PY2:
            assert re.search(r'takes exactly 1 argument', str(exc))
        else:
            assert re.search(r'missing 1 required positional argument', str(exc))

    try:
        result('a')
    except NameError as exc:
        assert re.search(r"'asd' is not defined", str(exc))
def test_invalid_code_syntax_error():
    code = 'in = 3'

    result = subst._parse_args__eval_replacement(code)

    assert type(result) is types.FunctionType

    try:
        result()
    except TypeError as exc:
        if IS_PY2:
            assert re.search(r'takes exactly 1 argument', str(exc))
        else:
            assert re.search(r'missing 1 required positional argument', str(exc))

    try:
        result('a')
    except SyntaxError:
        pass
Пример #16
0
def test_invalid_code_name_error():
    code = 'asd'

    result = subst._parse_args__eval_replacement(code)

    assert type(result) is types.FunctionType
    try:
        result()
    except TypeError as exc:
        if IS_PY2:
            assert re.search(r'takes exactly 1 argument', str(exc))
        else:
            assert re.search(r'missing 1 required positional argument',
                             str(exc))

    try:
        result('a')
    except NameError as exc:
        assert re.search(r"'asd' is not defined", str(exc))
Пример #17
0
def test_invalid_code_syntax_error():
    code = 'in = 3'

    result = subst._parse_args__eval_replacement(code)

    assert type(result) is types.FunctionType

    try:
        result()
    except TypeError as exc:
        if IS_PY2:
            assert re.search(r'takes exactly 1 argument', str(exc))
        else:
            assert re.search(r'missing 1 required positional argument',
                             str(exc))

    try:
        result('a')
    except SyntaxError:
        pass