1import os
2import sys
3import time
4import test_utils
5import test_constants
6import logging
7
8test_unique_bidi_text_reference_check_output_files = [
9"test_unique_bidi_text_reference_check_resources.c",
10"test_unique_bidi_text_reference_check_resources.h"]
11
12def get_test_header():
13    notes =  "*      Unique Bidi-Text Reference Check Tests         *\n"
14    notes += "*                                                     *\n"
15    notes += "* Test bidi-text unique reference check for ml-view   *\n"
16    notes += "*   template                                          *\n"
17    return notes
18
19def run_new_project_create(project_name):
20
21    # create a new project
22    test_utils.toolbar_create()
23    test_utils.set_new_project_path(test_utils.DEFAULT_OUTPUT_FILE_PATH)
24    test_utils.set_new_project_name(project_name)
25    test_utils.save_new_project_create()
26
27    # close message dialog when create new
28    test_utils.close_message_dialog()
29
30def run_ml_view_template_bidi_text_unique_check():
31    run_new_project_create("test_unique_bidi_text_reference_check")
32
33    # configure lanuage to support generate reordered bidi text
34    test_utils.configure_languages()
35    test_utils.select_language_id("Hebrew")
36    test_utils.check_support_bidi_text(1)
37    test_utils.check_reorder_bidi_text(1)
38    test_utils.save_language_configure()
39
40    # add a multi line text view template
41    test_utils.select_project_tree_node("default_folder")
42    test_utils.add_widget('GX_TYPE_MULTI_LINE_TEXT_VIEW')
43    test_utils.edit_widget_props("ID_TEMPLATE", 1)
44    test_utils.edit_widget_props("ID_WIDGET_NAME", "ml_view_template")
45
46    # add a widget based on multi line text view template
47    test_utils.select_project_tree_node("default_folder")
48    test_utils.add_template("ml_view_template")
49
50    test_utils.generate_all()
51    test_utils.click_generate_button(1)
52
53    test_utils.select_project_tree_node("default_folder")
54    test_utils.add_widget('GX_TYPE_MULTI_LINE_TEXT_VIEW')
55
56    test_utils.generate_all()
57    test_utils.click_generate_button(1)
58    test_utils.cmp_output_files(test_unique_bidi_text_reference_check_output_files)
59
60def run_unique_bidi_text_reference_check_tests(generate, screenshot):
61
62    test_utils.output_test_header(get_test_header())
63    test_utils.setup(generate, screenshot, 'test_unique_bidi_text_reference_check_golden_file')
64
65    print("run ml-view template bidi text unique reference check")
66    run_ml_view_template_bidi_text_unique_check()
67
68    test_utils.write_end("Test Unique Bidi-Text Reference Check")