1# -*- coding: utf-8 -*- 2import os 3import sys 4import time 5import test_utils 6import test_constants 7 8 9display_1_name = 'display_1' 10display_2_name = 'display_2' 11folder_name = 'default_folder' 12 13 14def get_test_header(): 15 notes = "* Undo Test *\n" 16 notes += "* *\n" 17 notes += "* Undo widget delete operation from project *\n" 18 return notes 19 20def run_new_project_create(project_name): 21 22 # create a new project 23 test_utils.toolbar_create() 24 test_utils.set_new_project_path(test_utils.DEFAULT_OUTPUT_FILE_PATH) 25 test_utils.set_new_project_name(project_name) 26 test_utils.save_new_project_create() 27 28 # configure project 29 test_utils.configure_project() 30 test_utils.configure_display_num(2) 31 test_utils.select_display_index(1) 32 test_utils.configure_x_res(640) 33 test_utils.configure_y_res(480) 34 test_utils.configure_display_name(display_1_name) 35 test_utils.select_display_index(2) 36 test_utils.configure_x_res(640) 37 test_utils.configure_y_res(480) 38 test_utils.configure_display_name(display_2_name) 39 test_utils.save_project_configure() 40 41 # close message dialog when create new and delete default_folder 42 test_utils.close_message_dialog() 43 44 45 46def undo_delete_widget(): 47 #insert window to delete 48 window_name = 'target_window' 49 test_utils.select_project_tree_node(display_2_name) 50 test_utils.insert_folder() 51 test_utils.add_widget('GX_TYPE_WINDOW') 52 test_utils.edit_widget_props("ID_WIDGET_NAME", window_name) 53 test_utils.edit_widget_props("ID_XPOS", 160) 54 test_utils.edit_widget_props("ID_YPOS", 120) 55 test_utils.edit_widget_props("ID_WIDTH", 320) 56 test_utils.edit_widget_props("ID_HEIGHT", 240) 57 test_utils.delete_widget() 58 test_utils.undo() 59 test_utils.compare_result() 60 61def run_undo_tests(generate, screenshot): 62 test_utils.output_test_header(get_test_header()) 63 test_utils.setup(generate, screenshot, 'test_undo_golden_file') 64 65 print('create new project') 66 run_new_project_create("test_undo") 67 68 69 #test bug that while undo widget delete, incorrect parent is pasted to. 70 undo_delete_widget(); 71 72 73 test_utils.write_end('Undo Tests')