1# -*- coding: utf-8 -*-
2import os
3import sys
4import time
5import test_utils
6import test_constants
7
8folder_hane = "default_folder"
9screen_name = "window"
10
11def get_test_header():
12    notes =  "*           Studio List Resize Test                   *\n"
13    notes += "*                                                     *\n"
14    notes += "* Test vertical list resizing                         *\n"
15    notes += "* Test horizontal list resizing                       *\n"
16    return notes
17
18def run_test_project_create(project_name):
19
20    # create a new project
21    test_utils.toolbar_create()
22    test_utils.set_new_project_path(test_utils.DEFAULT_OUTPUT_FILE_PATH)
23    test_utils.set_new_project_name(project_name)
24    test_utils.save_new_project_create()
25
26    # close message dialog when create new project
27    test_utils.close_message_dialog()
28
29    test_utils.select_project_tree_node(screen_name)
30
31    #-----------------------------------------------#
32    # add vertical list                             #
33    #-----------------------------------------------#
34    test_utils.add_widget('GX_TYPE_VERTICAL_LIST')
35    test_utils.edit_widget_props("ID_WIDGET_NAME", "vertical_list")
36    test_utils.edit_widget_props("ID_XPOS", 5)
37    test_utils.edit_widget_props("ID_YPOS",9)
38    test_utils.edit_widget_props("ID_WIDTH", 139)
39    test_utils.edit_widget_props("ID_HEIGHT", 130)
40
41    # add vertical list item 1
42    test_utils.select_project_tree_node("vertical_list")
43    test_utils.add_widget("GX_TYPE_WINDOW")
44    test_utils.edit_widget_props("ID_WIDGET_NAME", "vlist_item_1")
45    test_utils.edit_widget_props("ID_HEIGHT", 50)
46
47    test_utils.select_project_tree_node("vlist_item_1")
48    test_utils.add_widget("GX_TYPE_PROMPT")
49
50    # add vertical list item 2
51    test_utils.select_project_tree_node("vertical_list")
52    test_utils.add_widget("GX_TYPE_WINDOW")
53    test_utils.edit_widget_props("ID_WIDGET_NAME", "vlist_item_2")
54    test_utils.edit_widget_props("ID_HEIGHT", 50)
55
56    test_utils.select_project_tree_node("vlist_item_2")
57    test_utils.add_widget("GX_TYPE_PROMPT")
58
59    #-----------------------------------------------#
60    # add horizontal list                           #
61    #-----------------------------------------------#
62    test_utils.select_project_tree_node(screen_name)
63    test_utils.add_widget('GX_TYPE_HORIZONTAL_LIST')
64    test_utils.edit_widget_props("ID_WIDGET_NAME", "horizontal_list")
65    test_utils.edit_widget_props("ID_XPOS", 6)
66    test_utils.edit_widget_props("ID_YPOS",163)
67    test_utils.edit_widget_props("ID_WIDTH", 220)
68    test_utils.edit_widget_props("ID_HEIGHT", 49)
69
70    # add horizontal list item 1
71    test_utils.select_project_tree_node("horizontal_list")
72    test_utils.add_widget("GX_TYPE_WINDOW")
73    test_utils.edit_widget_props("ID_WIDGET_NAME", "hlist_item_1")
74    test_utils.edit_widget_props("ID_WIDTH", 96)
75
76    test_utils.select_project_tree_node("hlist_item_1")
77    test_utils.add_widget("GX_TYPE_PROMPT")
78
79    # add horizontal list item 2
80    test_utils.select_project_tree_node("horizontal_list")
81    test_utils.add_widget("GX_TYPE_WINDOW")
82    test_utils.edit_widget_props("ID_WIDGET_NAME", "hlist_item_2")
83    test_utils.edit_widget_props("ID_WIDTH", 96)
84
85    test_utils.select_project_tree_node("hlist_item_2")
86    test_utils.add_widget("GX_TYPE_PROMPT")
87
88    test_utils.toolbar_save()
89
90def run_list_resize_tests(generate, screenshot):
91
92    test_utils.output_test_header(get_test_header())
93    test_utils.setup(generate, screenshot, 'test_list_reisze_golden_file')
94
95    project_name = "test_list_resize";
96
97    print("create test project")
98    run_test_project_create(project_name)
99
100    print("resize the height of the first vertical list item")
101    test_utils.select_project_tree_node('vlist_item_1')
102    test_utils.edit_widget_props("ID_HEIGHT", 80)
103
104    print("resize the width of the first horizontal list item")
105    test_utils.select_project_tree_node('hlist_item_1')
106    test_utils.edit_widget_props("ID_WIDTH", 120)
107    test_utils.compare_result()
108    test_utils.toolbar_save()
109
110    print("save test project")
111    test_utils.close_project(1)
112
113    print("open test project")
114    test_utils.open_project(test_utils.DEFAULT_OUTPUT_FILE_PATH+project_name+".gxp")
115    test_utils.compare_result()
116
117    test_utils.write_end('List Resize Tests')
118