1import os
2import sys
3import time
4import test_utils
5import test_constants
6import logging
7
8def get_test_header():
9    notes =  "*         Studio Language Edit Tests                  *\n"
10    notes += "*                                                     *\n"
11    notes += "* Test edit language                                  *\n"
12    notes += "* Test thai glyph shaping setting                     *\n"
13    return notes
14
15def run_new_project_create(name):
16    # create a new project
17    test_utils.toolbar_create()
18    test_utils.set_new_project_path(test_utils.DEFAULT_OUTPUT_FILE_PATH)
19    test_utils.set_new_project_name(name)
20    test_utils.save_new_project_create()
21
22    # configure project
23    test_utils.configure_project()
24    test_utils.configure_x_res(640)
25    test_utils.configure_y_res(480)
26    test_utils.configure_display_name('display_1')
27    test_utils.configure_canvas_allocate(0);
28    test_utils.save_project_configure()
29
30    # close message dialog when create new and delete default folder
31    test_utils.close_message_dialog()
32    test_utils.select_project_tree_node("default_folder")
33    test_utils.add_widget("GX_TYPE_PROMPT")
34
35def run_thai_glyph_shaping_setting_test():
36    test_utils.open_project("..\\..\\example_internal\\thai_glyph_shaping\\thai_glyph_shaping.gxp")
37    test_utils.compare_result()
38
39    # Turn off thai glyph shaping
40    test_utils.configure_languages()
41    test_utils.check_support_thai_glyph_shapping(0)
42    test_utils.save_language_configure()
43    test_utils.compare_result()
44
45    # Turn on thai glyph shaping
46    test_utils.configure_languages()
47    test_utils.check_support_thai_glyph_shapping(1)
48    test_utils.save_language_configure()
49    test_utils.compare_result()
50
51    # Change thai font size
52    test_utils.click_resource_group('FONT_GROUP')
53    test_utils.edit_font("THAI")
54    test_utils.set_font_height(25)
55    test_utils.save_font_edit()
56    test_utils.click_resource_group('FONT_GROUP')
57    test_utils.compare_result()
58
59    # Configure language without any changes
60    test_utils.configure_languages()
61    test_utils.save_language_configure()
62    test_utils.compare_result()
63
64    # Change thai font size
65    test_utils.click_resource_group('FONT_GROUP')
66    test_utils.edit_font("THAI")
67    test_utils.set_font_height(30)
68    test_utils.save_font_edit()
69    test_utils.click_resource_group('FONT_GROUP')
70    test_utils.compare_result()
71
72def run_language_edit_tests(generate, screenshot):
73
74    test_utils.output_test_header(get_test_header())
75    test_utils.setup(generate, screenshot, 'test_language_edit_golden_file')
76
77    # create new project for testing
78    run_new_project_create("test_language_edit")
79
80    # configure languages
81    test_utils.configure_languages()
82    test_utils.add_language()
83    test_utils.select_language_index(2)
84    test_utils.select_language_id('Latin')
85    test_utils.save_language_configure()
86    test_utils.compare_result()
87
88    test_utils.increment_active_language_index()
89    test_utils.edit_string()
90    test_utils.select_string(0)
91    test_utils.toggle_three_column_mode()
92    test_utils.increment_trans_language()
93    test_utils.edit_bottom_string("test")
94    test_utils.save_string_edit()
95    test_utils.compare_result()
96
97    test_utils.toolbar_save()
98
99    # Test thai glyph shaping setting
100    run_thai_glyph_shaping_setting_test()
101
102    test_utils.write_end("Test Language Edit")
103
104
105