1# -*- coding: utf-8 -*-
2import test_utils
3
4display_name = "main_display"
5folder_name = "default_folder"
6screen_name = "main_screen"
7
8def get_test_header():
9    notes =  "*      Multi Line Text View Widget Test               *\n"
10    notes += "*                                                     *\n"
11    notes += "* Test line space range check                         *\n"
12    notes += "* Test whitespace range check                         *\n"
13    return notes
14
15def run_new_project_create(project_name):
16
17    # create a new project
18    test_utils.toolbar_create()
19    test_utils.set_new_project_path(test_utils.DEFAULT_OUTPUT_FILE_PATH)
20    test_utils.set_new_project_name(project_name)
21    test_utils.save_new_project_create()
22
23    # configure project
24    test_utils.configure_project()
25    test_utils.configure_x_res(640)
26    test_utils.configure_y_res(480)
27    test_utils.configure_display_name(display_name)
28    test_utils.save_project_configure()
29
30    # close message dialog when create new project
31    test_utils.close_message_dialog()
32
33def test_whitespace_linespace_range():
34    #---------------------------------------#
35    #add main screen to display             #
36    #---------------------------------------#
37
38    test_utils.select_project_tree_node("window")
39
40    test_utils.edit_widget_props("ID_XPOS", 0)
41    test_utils.edit_widget_props("ID_YPOS", 0)
42    test_utils.edit_widget_props("ID_WIDTH", 640)
43    test_utils.edit_widget_props("ID_HEIGHT", 480)
44    test_utils.edit_widget_props("ID_WIDGET_NAME", screen_name)
45
46    test_utils.select_project_tree_node(screen_name)
47    test_utils.add_widget('GX_TYPE_MULTI_LINE_TEXT_VIEW')
48    test_utils.edit_widget_props_post('ID_TEXT_VIEW_WHITESPACE', -1)
49    test_utils.close_message_dialog()
50    test_utils.edit_widget_props_post('ID_TEXT_VIEW_WHITESPACE', 256)
51    test_utils.close_message_dialog()
52    test_utils.edit_widget_props('ID_TEXT_VIEW_WHITESPACE', 10)
53
54    test_utils.edit_widget_props_post('ID_TEXT_VIEW_LINE_SPACE', -129)
55    test_utils.close_message_dialog()
56    test_utils.edit_widget_props_post('ID_TEXT_VIEW_LINE_SPACE', 128)
57    test_utils.close_message_dialog()
58    test_utils.edit_widget_props('ID_TEXT_VIEW_LINE_SPACE', 127)
59    test_utils.compare_result()
60
61def run_ml_view_tests(generate, screenshot):
62
63    test_utils.output_test_header(get_test_header())
64    test_utils.setup(generate, screenshot, 'test_ml_view_golden_file')
65
66    print('create new project')
67    run_new_project_create("test_ml_view")
68
69    print('test whitespace and linespace range')
70    test_whitespace_linespace_range()
71
72    test_utils.write_end('ML View Widget Tests')