]> SALOME platform Git repositories - modules/shaper.git/blob - test.squish/suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT/test.py
Salome HOME
Add SQUISH test suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT
[modules/shaper.git] / test.squish / suite_OBJECT_BROWSER / tst_ACTIVE_DOC_MANAGEMENT / test.py
1 #[tested functionality] 
2
3 ENABLE_COLOR='#FF000000'
4 DISABLE_COLOR='#FFC0C0C0'
5
6 def checkPartActivatedState(scenario):
7     #[step] Check that Part is activated
8     allPartSetElements = [
9                 "Parameters (0)", 
10                 "Constructions (4)", 
11                 "Constructions (4).Origin", 
12                 "Constructions (4).YOZ",
13                 "Constructions (4).XOZ",
14                 "Constructions (4).XOY",
15                 "Parts (1)"]
16     for element in allPartSetElements:
17         test.compare(DISABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is disabled after: %s" % (element, scenario))
18
19     partElements = [
20                 "Part\\_1", 
21                 "Part\\_1.Parameters (0)",
22                 "Part\\_1.Constructions (0)",
23                 "Part\\_1.Bodies (0)"]
24     for element in partElements:
25         test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is enabled after: %s" % (element, scenario))
26     
27     #[step] Check that Part tree is unfolded
28     test.compare(False, waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1").collapsed, "Part is unfolded after: %s" % scenario)
29
30 #     #[step] Check that PartSet elements are folded
31 #     partSetElements = [
32 #                 "Parameters (0)", 
33 #                 "Constructions (4)", 
34 #                 "Parts (1)"]
35 #     for element in partSetElements:
36 #         test.compare(True, waitForObjectItem(":Object browser_XGUI_DataTree", element).collapsed, "%s is folded after: %s" % (element, scenario))
37
38 def checkPartDeactivatedState(scenario):
39     #[step] Check that Part id disabled and folded 
40     partElements = [
41                 "Part\\_1.Parameters (0)",
42                 "Part\\_1.Constructions (0)",
43                 "Part\\_1.Bodies (0)"]
44     for element in partElements:
45         test.compare(DISABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is disabled after: %s" % (element, scenario))
46     test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1").foregroundColor, "Part is enable after: %s" % scenario)
47     test.compare(True, waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1").collapsed, "Part is unfolded after: %s" % scenario)
48     
49     #[step] Check that PartSet is enabled  
50     allPartSetElements = [
51                 "Parameters (0)", 
52                 "Constructions (4)", 
53                 "Constructions (4).Origin", 
54                 "Constructions (4).YOZ",
55                 "Constructions (4).XOZ",
56                 "Constructions (4).XOY",
57                 "Parts (1)"]
58     for element in allPartSetElements:
59         test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is enabled after: %s" % (element, scenario))
60
61 def findMenuItem(menuObject, item):
62     for child in object.children(menuObject):
63         if child.text == item:
64             return child    
65     return None
66
67 def main():
68     source(findFile("scripts", "common.py"))
69     
70     startApplication("salome_run.sh")
71     activate_newgeom()
72
73     #[step] Check that default elements are enabled: Parameters (0), Constructions (4), Parts (0)
74     waitForObjectItem(":Object browser_XGUI_DataTree", "Constructions (4)")
75     clickItem(":Object browser_XGUI_DataTree", "Constructions (4)", -10, 10, 0, Qt.LeftButton)
76      
77     allPartSetElements = [
78                 "Parameters (0)", 
79                 "Constructions (4)", 
80                 "Constructions (4).Origin", 
81                 "Constructions (4).YOZ",
82                 "Constructions (4).XOZ",
83                 "Constructions (4).XOY",
84                 "Parts (0)"]
85     for element in allPartSetElements:
86         test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is enabled by default" % element)
87
88     #[step] Create Part
89     activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Part"))
90     activateItem(waitForObjectItem(":Part_QMenu", "New part"))
91      
92     checkPartActivatedState("Part creation")
93  
94     #[step] Deactivate part by double click 
95     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1")
96     doubleClickItem(":Object browser_XGUI_DataTree", "Part\\_1", 10, 10, 0, Qt.LeftButton)
97
98     checkPartDeactivatedState("Part deactivation by double click")
99
100     #[step] Activate part by double click 
101     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1")
102     doubleClickItem(":Object browser_XGUI_DataTree", "Part\\_1", 10, 10, 0, Qt.LeftButton)
103
104     checkPartActivatedState("Part activation by double click")
105
106     #[step] Check that Activate is disabled in Part context menu  
107     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 10, 10, 0)
108     test.compare(False, findMenuItem(waitForObject(":_QMenu"), "Activate").enabled, "Activate is disabled on active Part")
109
110     #[step] Deactivate part by context menu on PartSet 
111     openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0)
112     activateItem(waitForObjectItem(":_QMenu", "Activate"))
113     
114     checkPartDeactivatedState("Part deactivation by context menu on PartSet")
115
116     #[step] Check that Activate is disabled in PartSet context menu  
117     openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0)
118     test.compare(False, findMenuItem(waitForObject(":_QMenu"), "Activate").enabled, "Activate is disabled on active PartSet")
119
120     #[step] Activate part by context menu on Part
121     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 104, 6, 0)
122     activateItem(waitForObjectItem(":_QMenu", "Activate"))
123
124     checkPartActivatedState("Part activation by context menu on Part")
125
126     close_application()