Example #1
0
def test_undo_undoes_changes(app):
    resp = app.post_json(
        '/refactor/rename',
        {
            'name': 'Llama',
            'path': 'basic/foo.py',
            'offset': 8,
        })

    if resp.json['result'] != 'success':
        print(resp.json['message'])
    assert resp.json['result'] == 'success'

    resp = app.post_json(
        '/refactor/perform',
        resp.json)

    with pytest.raises(ValueError):
        common.compare_workspaces(
            paths.packages('basic'),
            paths.active('main', 'basic'))

    resp = app.post_json(
        '/history/undo',
        {'index': 0})

    assert resp.json['result'] == 'success'

    common.compare_workspaces(
        paths.packages('basic'),
        paths.active('main', 'basic'))
Example #2
0
def test_cross_add_argument(workspace):
    changes = workspace.add_argument('basic/bar.py', 163, 3, 'newarg',
                                     "\"default\"", "\"value\"")

    workspace.perform(changes)

    common.compare_workspaces(paths.approved('cross_basic_add_argument'),
                              paths.active('main', 'basic'))
Example #3
0
def test_simple_move(activate_package, make_workspace):
    activate_package(package='basic', into='main')
    workspace = make_workspace('main')

    changes = workspace.move('basic/bar.py', 31, 'basic/foo.py')

    workspace.perform(changes)

    common.compare_workspaces(paths.approved('simple_move'),
                              paths.active('main', 'basic'))
Example #4
0
def test_cross_remove_argument(workspace):
    changes = workspace.remove_argument('basic/bar.py', 163, 1)

    workspace.perform(changes)

    common.compare_workspaces(paths.approved('cross_basic_remove_argument'),
                              paths.active('main', 'basic'))

    common.compare_workspaces(paths.approved('cross_use_bar_remove_argument'),
                              paths.active('cross', 'use_bar'))
Example #5
0
def test_undo_undoes_changes(workspace):
    workspace.perform(workspace.rename('basic/foo.py', 8, 'Llama'))

    with pytest.raises(ValueError):
        common.compare_workspaces(paths.packages('basic'),
                                  paths.active('main', 'basic'))

    workspace.undo()

    common.compare_workspaces(paths.packages('basic'),
                              paths.active('main', 'basic'))
Example #6
0
def test_cross_remove_argument(workspace):
    changes = workspace.remove_argument('basic/bar.py', 163, 1)

    workspace.perform(changes)

    common.compare_workspaces(
        paths.approved('cross_basic_remove_argument'),
        paths.active('main', 'basic'))

    common.compare_workspaces(
        paths.approved('cross_use_bar_remove_argument'),
        paths.active('cross', 'use_bar'))
Example #7
0
def test_rename(app):
    resp = app.post_json('/refactor/rename', {
        'name': 'Llama',
        'path': 'basic/foo.py',
        'offset': 8
    })

    assert resp.json['result'] == 'success'

    app.post_json('/refactor/perform', resp.json)

    common.compare_workspaces(paths.approved('basic_rename_llama'),
                              paths.active('main', 'basic'))
Example #8
0
def test_cross_normalize_arguments(workspace):
    changes = workspace.normalize_arguments(
        'basic/bar.py', 163)  # 163 offset = cursor position on "a_free_func"

    workspace.perform(changes)

    common.compare_workspaces(
        paths.approved('cross_basic_normalize_arguments'),
        paths.active('main', 'basic'))

    common.compare_workspaces(
        paths.approved('cross_use_bar_normalize_arguments'),
        paths.active('cross', 'use_bar'))
Example #9
0
def test_simple_rename(activate_package, make_workspace):
    activate_package(package='basic', into='main')
    workspace = make_workspace('main')

    changes = workspace.rename(
        'basic/foo.py',
        8,
        'Llama')

    workspace.perform(changes)

    common.compare_workspaces(
        paths.approved('basic_rename_llama'),
        paths.active('main', 'basic'))
Example #10
0
def test_simple_move(activate_package, make_workspace):
    activate_package(package='basic', into='main')
    workspace = make_workspace('main')

    changes = workspace.move(
        'basic/bar.py',
        31,
        'basic/foo.py')

    workspace.perform(changes)

    common.compare_workspaces(
        paths.approved('simple_move'),
        paths.active('main', 'basic'))
Example #11
0
def test_cross_add_argument(workspace):
    changes = workspace.add_argument(
        'basic/bar.py',
        163,
        3,
        'newarg',
        "\"default\"",
        "\"value\"")

    workspace.perform(changes)

    common.compare_workspaces(
        paths.approved('cross_basic_add_argument'),
        paths.active('main', 'basic'))
Example #12
0
def test_cross_normalize_arguments(workspace):
    changes = workspace.normalize_arguments(
        'basic/bar.py',
        163)    # 163 offset = cursor position on "a_free_func"

    workspace.perform(changes)

    common.compare_workspaces(
        paths.approved('cross_basic_normalize_arguments'),
        paths.active('main', 'basic'))

    common.compare_workspaces(
        paths.approved('cross_use_bar_normalize_arguments'),
        paths.active('cross', 'use_bar'))
Example #13
0
def test_undo_undoes_changes(workspace):
    workspace.perform(
        workspace.rename(
            'basic/foo.py',
            8,
            'Llama'))

    with pytest.raises(ValueError):
        common.compare_workspaces(
            paths.packages('basic'),
            paths.active('main', 'basic'))

    workspace.undo()

    common.compare_workspaces(
        paths.packages('basic'),
        paths.active('main', 'basic'))