Index: tst_AlarmStatusData/test.py =================================================================== diff -u -rab2ebd8c7b5c8df145c2b8cc06a397258ecf2f13 -rbb99af6ec9ef22ef17d1fad542810e898132c5b2 --- tst_AlarmStatusData/test.py (.../test.py) (revision ab2ebd8c7b5c8df145c2b8cc06a397258ecf2f13) +++ tst_AlarmStatusData/test.py (.../test.py) (revision bb99af6ec9ef22ef17d1fad542810e898132c5b2) @@ -46,67 +46,90 @@ alarm_flag_mute = 0B0000001000000000 alarm_flag_unmute = 0B0000000000000000 +# alarm priorities +alarm_priority_none = 0 +alarm_priority_low = 1 +alarm_priority_medium = 2 +alarm_priority_high = 3 +alarm_priority_outofrange = 9 + +alarm_priorities = [ + alarm_priority_none , + alarm_priority_low , + alarm_priority_medium , + alarm_priority_high , + alarm_priority_outofrange +] + # alarm colors +alarm_colors_header = { + alarm_priority_none : "#438feb", + alarm_priority_low : "#db8f00", + alarm_priority_medium : "#db8f00", + alarm_priority_high : "#831913", + alarm_priority_outofrange : "#438feb", +} +alarm_colors_body = { + alarm_priority_none : "#254670", + alarm_priority_low : "#f5a623", + alarm_priority_medium : "#f5a623", + alarm_priority_high : "#c53b33", + alarm_priority_outofrange : "#254670", +} alarm_id_noalarm = 0 alarm_id_outofrange = 1000000 alarm_id_undefined_string = "ALARM_ID_UNDEFINED [{}]" +def minimize(): + mouseClick(waitForObject(names.o_alarm_button_minimize)) + utils.waitForGUI(0.5) # this wait is necessary. Due to dialog animation it will be hide until the animation is done. -def isNotificationBar(): - if object.exists(names.o_alarm_bar): - alarmBar = findObject(names.o_alarm_bar) - return [alarmBar.visible, alarmBar] - return [False, None] + +def maximize(): + mouseClick(waitForObject(names.o_alarm_bar_maximize)) + utils.waitForGUI(0.5) # this wait is necessary. Due to dialog animation it will be hide until the animation is done. + + +def test_colors(vPriority): + test.compare(str(waitForObjectExists(names.o_modalDialog ).color.name), alarm_colors_body [vPriority]) + test.compare(str(waitForObjectExists(names.o_alarm_dialog_titleBar).color.name), alarm_colors_header[vPriority]) -def isNotificationDialog(): - if object.exists(names.o_NotificationDialog_Description_Text): - alarmTxt = findObject(names.o_NotificationDialog_Description_Text) - return [alarmTxt.visible, alarmTxt] - return [False, None] + minimize() + test.compare(str(waitForObject (names.o_alarm_bar ).color.name), alarm_colors_body[vPriority]) -# ALARM_ID = (priority, alarmID, escalates in, silent_espires_in, flags) -def test_colors(vPriority, vTopID, vEscalatesIn, vMuteTimeout, vFlags): - barVisible, barObj = isNotificationBar() - dlgVisible, dlgObj = isNotificationDialog() + maximize() - if vPriority == 0 and vTopID == 0: - test.compare(barVisible, False, "bar clr I{} P{} ".format(vTopID, vPriority)) - test.compare(dlgVisible, False, "dlg clr I{} P{} ".format(vTopID, vPriority)) -# return - - if barVisible: - if vTopID == len(names.AlarmTextMap) - 1: - test.compare(str(barObj.text), names.AlarmTextMap[vTopID] + " [{}]".format(vTopID), "bar I{} P{} :{}".format(vTopID, vPriority, str(barObj.text))) - else: - test.compare(str(barObj.text), names.AlarmTextMap[vTopID] , "bar I{} P{} :{}".format(vTopID, vPriority, str(barObj.text))) - return - - if dlgVisible: - if vTopID == len(names.AlarmTextMap) - 1: - test.compare(str(dlgObj.text), names.AlarmTextMap[vTopID] + " [{}]".format(vTopID), "bar I{} P{} :{}".format(vTopID, vPriority, str(dlgObj.text))) - else: - test.compare(str(dlgObj.text), names.AlarmTextMap[vTopID] , "dlg I{} P{} :{}".format(vTopID, vPriority, str(dlgObj.text))) - return -# ALARM_ID = (priority, alarmID, escalates in, silent_espires_in, flags) def test_messages(vTopID): if vTopID == alarm_id_noalarm: - utils.waitForGUI() # this wait is necessary. Due to dialog animation it will be hide until the animation is done. - test.compare(object.exists(names.o_alarm_dialog_content), False ) - test.compare(object.exists(names.o_alarm_bar ), False ) + utils.waitForGUI() + dlg = names.o_modalDialog + bar = names.o_alarm_bar + dlg_exists = object.exists(dlg) + bar_exists = object.exists(bar) + if not dlg_exists: + test.compare(dlg_exists, False) + else: + test.compare(waitForObjectExists(dlg).visible, False) + + if not bar_exists: + test.compare(True, True) + else: + test.compare(waitForObjectExists(bar).visible, False) + else: - if vTopID == alarm_id_outofrange: + if vTopID == alarm_id_outofrange: test.compare(str(waitForObjectExists(names.o_alarm_text_description).text), alarm_id_undefined_string.format(vTopID)) + minimize() + test.compare(str(waitForObjectExists(names.o_alarm_bar_text ).text), alarm_id_undefined_string.format(vTopID)) else: test.compare(str(waitForObjectExists(names.o_alarm_text_description).text), names.AlarmTextMap[vTopID]) - - -# mouseClick(waitForObjectExists(names.o_alarm_button_minimize)) -# test.compare(str(waitForObjectExists(names.o_alarm_bar_text).text), names.AlarmTextMap[vTopID]) + minimize() + test.compare(str(waitForObjectExists(names.o_alarm_bar_text ).text), names.AlarmTextMap[vTopID]) + maximize() + - pass - def test_buttons(vButtons): test.compare(waitForObjectExists(names.o_alarm_button_ok ).visible, vButtons == alarm_buttons_Ok, @@ -143,11 +166,6 @@ if obj.visible : mouseClick(obj) -def test_minimize_maximize(): - mouseClick(waitForObjectExists(names.o_alarm_button_minimize)) - pass - - def test_silence(vMuteTimeout, vFlags): test.compare(waitForObjectExists(names.o_alarm_button_mute).timeout, vMuteTimeout) @@ -156,13 +174,22 @@ test.compare( waitForObjectExists(names.o_alarm_button_mute_min).visible, muted) test.compare( waitForObjectExists(names.o_alarm_button_mute_sec).visible, muted) + muteTimeout_min,muteTimeout_sec = divmod(vMuteTimeout, 60) if muted: test.compare(str(waitForObjectExists(names.o_alarm_button_mute_img).source.path), "/images/iBellOff") - muteTimeout_min,muteTimeout_sec = divmod(vMuteTimeout, 60) test.compare(str(waitForObjectExists(names.o_alarm_button_mute_min).text), "{}" .format(muteTimeout_min)) test.compare(str(waitForObjectExists(names.o_alarm_button_mute_sec).text), "{0:02}".format(muteTimeout_sec)) + minimize() + test.compare(str(waitForObjectExists(names.o_alarm_bar_mute_img ).source.path), "/images/iBellOff" ) + test.compare(str(waitForObjectExists(names.o_alarm_bar_mute_min ).text), "{}" .format(muteTimeout_min)) + test.compare(str(waitForObjectExists(names.o_alarm_bar_mute_sec ).text), "{0:02}".format(muteTimeout_sec)) + else: test.compare(str(waitForObjectExists(names.o_alarm_button_mute_img).source.path), "/images/iBellOn" ) + minimize() + test.compare(str(waitForObjectExists(names.o_alarm_bar_mute_img ).source.path), "/images/iBellOn" ) + + maximize() def main(): @@ -173,47 +200,46 @@ startApplication(names.AUT_NAME + " -q") utils.waitForGUI(1) - # ----- test silence - # not muted + + # --------------------- Alarm Dialog: test the buttons + for buttons in (alarm_buttons_Ok , + alarm_buttons_Resume , + alarm_buttons_RinseBack , + alarm_buttons_End , + alarm_buttons_Resume_RinseBack , + alarm_buttons_Resume_End , + alarm_buttons_RinseBack_End , + alarm_buttons_Resume_RinseBack_End ): + denaliMessages.setAlarmStatus(1, 1, 0, 0, buttons) + test_buttons ( buttons) + + + ## -------------------- Alarm Dialog/Bar: test silence + # --------------------- Alarm Dialog/Bar: not muted for mute_timeout in (0, 40, 40, 60, 75, 75): denaliMessages.setAlarmStatus(1, 1 ,0, mute_timeout, alarm_flag_unmute) test_silence ( mute_timeout, alarm_flag_unmute) + - # muted + # --------------------- Alarm Dialog/Bar: muted mouseClick(waitForObject(names.o_alarm_button_mute)) for mute_timeout in (0, 10, 20, 30, 30, 100): denaliMessages.setAlarmStatus(1, 2 ,0, mute_timeout, alarm_flag_mute) test_silence ( mute_timeout, alarm_flag_mute) - # ----- test the buttons - for buttons in (alarm_buttons_Ok , - alarm_buttons_Resume , - alarm_buttons_RinseBack , - alarm_buttons_End , - alarm_buttons_Resume_RinseBack , - alarm_buttons_Resume_End , - alarm_buttons_RinseBack_End , - alarm_buttons_Resume_RinseBack_End ): - denaliMessages.setAlarmStatus(1, 1, 0, 0, buttons) - test_buttons ( buttons) - - - # ----- test alarm messages (dialog and bar) + ## -------------------- Alarm Dialog/Bar: test alarm messages for alarm_id in (5, 5 , 6, 7, 8, 9, 10, 10, alarm_id_outofrange, alarm_id_outofrange, alarm_id_noalarm, alarm_id_noalarm): # not all of alarms are required to be tested. denaliMessages.setAlarmStatus(1, alarm_id, 0, 0, 0) test_messages ( alarm_id ) + ## -------------------- Alarm Dialog/Bar: test alarm priority colors + for alarm_priority in alarm_priorities: + denaliMessages.setAlarmStatus(alarm_priority, 1, 0, 0, 0) + test_colors (alarm_priority ) -# # ----- test alarm priority colors -# for alarm_priority in names.AlarmPriority: -# denaliMessages.setAlarmStatus(alarm_priority, 1, 0, 0, 0) -# test_colors (alarm_priority ) -# # ----- test minimize/maximize - - utils.tstDone()