def _test_drop_on_component_editor(browser): project_dict, workspace_page = startup(browser) #find and get the 'assembly', and 'top' objects workspace_page.set_library_filter('Assembly') # put Assembly at top of lib assembly = workspace_page.find_library_button('Assembly') top = workspace_page.get_dataflow_figure('top', '') editor = top.editor_page(double_click=False, base_type='Assembly') editor.show_dataflow() #in order to get the elements in the editor workflow, we must #distinguish them from the elements in the main workflow editor_top = get_dataflow_fig_in_assembly_editor(workspace_page, 'top') # sort through these to find the correct 'top' names = [] for div in getDropableElements(editor_top)[:-1]: chain = drag_element_to(browser, assembly, div, False) check_highlighting( editor_top('content_area').element, True, "Top in component editor's content_area") release(chain) #deal with the modal dialog name = NameInstanceDialog(workspace_page).create_and_dismiss() names.append(name) ensure_names_in_workspace( workspace_page, names, "Dragging 'assembly' to 'top' (in component editor) in one of the " "drop areas did not produce a new element on page") #now test to see if all the new elements are children of 'top' #generate what the pathnames SHOULD be guess_pathnames = ["top." + name for name in names] #get the actual pathnames figs = workspace_page.get_dataflow_figures() pathnames = [get_pathname(browser, fig) for fig in figs] # see if they match up! (keeping in mind that there are more elements # we have pathnames for than we put there) for path in guess_pathnames: eq( path in pathnames, True, "An element did not drop into 'top' (in component editor) when " "dragged onto one of its drop areas.\nIt was created somewhere else" ) closeout(project_dict, workspace_page)
def _test_drop_on_component_editor(browser): project_dict, workspace_page = startup(browser) #find and get the 'assembly', and 'top' objects workspace_page.set_library_filter('Assembly') # put Assembly at top of lib assembly = workspace_page.find_library_button('Assembly') top = workspace_page.get_dataflow_figure('top', '') editor = top.editor_page(double_click=False, base_type='Assembly') editor.show_dataflow() #in order to get the elements in the editor workflow, we must #distinguish them from the elements in the main workflow editor_top = get_dataflow_fig_in_assembly_editor(workspace_page, 'top') # sort through these to find the correct 'top' names = [] for div in getDropableElements(editor_top)[:-1]: chain = drag_element_to(browser, assembly, div, False) check_highlighting(editor_top('content_area').element, True, "Top in component editor's content_area") release(chain) #deal with the modal dialog name = NameInstanceDialog(workspace_page).create_and_dismiss() names.append(name) ensure_names_in_workspace(workspace_page, names, "Dragging 'assembly' to 'top' (in component editor) in one of the " "drop areas did not produce a new element on page") #now test to see if all the new elements are children of 'top' #generate what the pathnames SHOULD be guess_pathnames = ["top." + name for name in names] #get the actual pathnames figs = workspace_page.get_dataflow_figures() pathnames = [get_pathname(browser, fig) for fig in figs] # see if they match up! (keeping in mind that there are more elements # we have pathnames for than we put there) for path in guess_pathnames: eq(path in pathnames, True, "An element did not drop into 'top' (in component editor) when " "dragged onto one of its drop areas.\nIt was created somewhere else") closeout(project_dict, workspace_page)
def _test_workspace_dragdrop(browser): project_dict, workspace_page = startup(browser) #find and get the 'assembly', and 'top' objects assembly = workspace_page.find_library_button('Assembly') top = workspace_page.get_dataflow_figure('top') names = [] for div in getDropableElements(top): chain = drag_element_to(browser, assembly, div, False) check_highlighting( top('content_area').element, True, "Top's content_area") release(chain) #deal with the modal dialog name = NameInstanceDialog(workspace_page).create_and_dismiss() names.append(name) ensure_names_in_workspace( workspace_page, names, "Dragging 'assembly' to 'top' in one of the drop areas did not " "produce a new element on page") # now test to see if all the new elements are children of 'top' # generate what the pathnames SHOULD be guess_pathnames = ["top." + name for name in names] # get the actual pathnames figs = workspace_page.get_dataflow_figures() pathnames = [get_pathname(browser, fig) for fig in figs] # see if they match up! (keeping in mind that there are more elements # we have pathnames for than we put there) for path in guess_pathnames: eq( path in pathnames, True, "An element did not drop into 'top' when " "dragged onto one of its drop areas.\nIt was created somewhere else" ) closeout(project_dict, workspace_page)
def _test_workspace_dragdrop(browser): project_dict, workspace_page = startup(browser) #find and get the 'assembly', and 'top' objects assembly = workspace_page.find_library_button('Assembly') top = workspace_page.get_dataflow_figure('top') names = [] for div in getDropableElements(top): chain = drag_element_to(browser, assembly, div, False) check_highlighting(top('content_area').element, True, "Top's content_area") release(chain) #deal with the modal dialog name = NameInstanceDialog(workspace_page).create_and_dismiss() names.append(name) ensure_names_in_workspace(workspace_page, names, "Dragging 'assembly' to 'top' in one of the drop areas did not " "produce a new element on page") # now test to see if all the new elements are children of 'top' # generate what the pathnames SHOULD be guess_pathnames = ["top." + name for name in names] # get the actual pathnames figs = workspace_page.get_dataflow_figures() pathnames = [get_pathname(browser, fig) for fig in figs] # see if they match up! (keeping in mind that there are more elements # we have pathnames for than we put there) for path in guess_pathnames: eq(path in pathnames, True, "An element did not drop into 'top' when " "dragged onto one of its drop areas.\nIt was created somewhere else") closeout(project_dict, workspace_page)