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_redo_redoes_changes(fixture):
    project, state, task_state = fixture
    project.rename(
        task_state,
        'Llama',
        'basic/foo.py',
        8).get()

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

    project.undo().get()

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

    project.redo().get()

    with pytest.raises(ValueError):
        common.compare_projects(
            paths.packages('basic'),
            paths.active('main', 'basic'))
Example #3
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'
    task_id = resp.json['task_id']

    assert wait_for_task(task_id, app)

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

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

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

    common.compare_projects(
        paths.packages('basic'),
        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_undo_undoes_changes(fixture):
    project, state, task_state = fixture

    project.rename(task_state, 'Llama', 'basic/foo.py', 8).get()

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

    project.undo().get()

    common.compare_projects(paths.packages('basic'),
                            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_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 #10
0
def test_cross_normalize_arguments(fixture):
    project, state, task_state = fixture

    project.normalize_arguments(
        task_state,
        'basic/bar.py',
        163).get()    # 163 offset = cursor position on "a_free_func"

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

    common.compare_projects(
        paths.approved('cross_use_bar_normalize_arguments'),
        paths.active('cross', 'use_bar'))
Example #11
0
def test_cross_remove_argument(fixture):
    project, state, task_state = fixture

    project.remove_argument(
        task_state,
        1,
        'basic/bar.py',
        163).get()

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

    common.compare_projects(
        paths.approved('cross_use_bar_remove_argument'),
        paths.active('cross', 'use_bar'))
Example #12
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 #13
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 #14
0
def app(activate_package):
    activate_package(package='basic', into='main')

    plugin = RopeWorkspacePlugin(paths.active('main'))
    traad.app.app.install(plugin)
    try:
        yield webtest.TestApp(traad.app.app)
    finally:
        traad.app.app.uninstall(plugin)
Example #15
0
def test_find_definition(proj):
    path = os.path.join(paths.active('main'), 'basic', 'bar.py')

    with open(path, 'r') as f:
        code = f.read()

    loc = proj.find_definition(code, 142, os.path.join('basic',
                                                       'bar.py')).get()

    assert loc == (os.path.join('basic', 'bar.py'), (91, 100), 91, False, 7)
Example #16
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 #17
0
def test_find_definition(app):
    path = os.path.join(paths.active('main'), 'basic', 'bar.py')

    resp = app.post_json('/findit/definition', {
        'path': path,
        'offset': 142,
    })

    assert (resp.json['data'] == [
        os.path.join('basic', 'bar.py'), [91, 100], 91, False, 7
    ])
Example #18
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 #19
0
def test_cross_add_argument(fixture):
    project, state, task_state = fixture

    project.add_argument(
        task_state,
        'basic/bar.py',
        163,
        3,
        'newarg',
        "\"newvalue\"").get()

    common.compare_projects(
        paths.approved('cross_basic_add_argument'),
        paths.active('main', 'basic'))
Example #20
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 #21
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 #22
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 #23
0
def test_simple_rename(activate_package, start_project, state):
    activate_package(package='basic', into='main')
    proj = start_project('main')
    state.create(1).get()
    task_state = TaskState(state, 1)

    proj.rename(
        task_state,
        'Llama',
        'basic/foo.py',
        8).get()

    common.compare_projects(
        paths.approved('basic_rename_llama'),
        paths.active('main', 'basic'))
Example #24
0
def test_rename(app):
    resp = app.post_json(
        '/refactor/rename',
        {
            'name': 'Llama',
            'path': 'basic/foo.py',
            'offset': 8
        })

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

    assert wait_for_task(task_id, app)

    common.compare_projects(
        paths.approved('basic_rename_llama'),
        paths.active('main', 'basic'))
Example #25
0
def test_find_definition(app):
    path = os.path.join(
        paths.active('main'),
        'basic', 'bar.py')

    resp = app.post_json(
        '/findit/definition',
        {
            'path': path,
            'offset': 142,
        })

    assert (resp.json['data'] ==
            [os.path.join('basic', 'bar.py'),
             [91, 100],
             91,
             False,
             7])
Example #26
0
def app(activate_package):
    activate_package(package='basic', into='main')

    with traad.app.using_workspace(paths.active('main')) as app:
        yield webtest.TestApp(app)
Example #27
0
def app(activate_package):
    activate_package(package='basic', into='main')

    with traad.app.using_project(paths.active('main')) as app:
        yield webtest.TestApp(app)