ya2 · news · projects · code · about

functional tests: restore options
authorFlavio Calva <f.calva@gmail.com>
Fri, 25 Mar 2022 17:50:41 +0000 (18:50 +0100)
committerFlavio Calva <f.calva@gmail.com>
Fri, 25 Mar 2022 17:50:41 +0000 (18:50 +0100)
lib/engine/functional.py
prj.org

index 1edb4caf871bc4bfa08c51969ff72092fb8bd97f..76859f277ed313889b3aac6d3ee5117825c6a8da 100644 (file)
@@ -181,7 +181,6 @@ class FunctionalTest(GameObject):
         self._screenshot(FunctionalTest.start_time, 'main_menu')
         self._do_screenshots_credits()
         self._do_screenshots_options()
-        self._do_screenshots_play()
         self._do_screenshots_exit()
 
     def _do_screenshots_credits(self):
@@ -213,19 +212,41 @@ class FunctionalTest(GameObject):
         self._screenshot(FunctionalTest.screenshot_time, 'options_menu')
         # languages
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 50), 'left'])
-        self._screenshot(FunctionalTest.screenshot_time, 'open_languages_1')
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(930, 30), 'left'])
-        self._screenshot(FunctionalTest.screenshot_time, 'options_menu_english')
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 50), 'left'])
-        self._screenshot(FunctionalTest.screenshot_time, 'open_languages_2')
+        self._screenshot(FunctionalTest.screenshot_time, 'open_languages')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(930, 110), 'left'])
         self._screenshot(FunctionalTest.screenshot_time, 'options_menu_italian')
         # volume
-        self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(680, 150), (700, 150), 'left'])
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(703, 153), 'left'])
         self._screenshot(FunctionalTest.screenshot_time, 'options_menu_drag_1')
-        self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(700, 150), (680, 150), 'left'])
+        # antialiasing
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 420), 'left'])
+        self._screenshot(FunctionalTest.screenshot_time, 'antialiasing_no')
+        # shadows
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 510), 'left'])
+        self._screenshot(FunctionalTest.screenshot_time, 'shadows_no')
+        # test aa and shadows
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 630), 'left'])  # back
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 130), 'left'])  # play
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(220, 150), 'left'])  # domino
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(845, 455), 'left'])  # close instructions
+        self._screenshot(FunctionalTest.screenshot_time, 'aa_no_shadows_no')
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(25, 695), 'left'])  # home
+
+    def _do_screenshots_restore_options(self):
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 270), 'left'])
+        self._screenshot(FunctionalTest.screenshot_time, 'options_menu_restored')
+        # languages
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 50), 'left'])
+        self._screenshot(FunctionalTest.screenshot_time, 'open_languages_restored')
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(930, 30), 'left'])
+        self._screenshot(FunctionalTest.screenshot_time, 'options_menu_english')
+        # volume
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(677, 153), 'left'])
         self._screenshot(FunctionalTest.screenshot_time, 'options_menu_drag_2')
         # fullscreen
+        # the first one is because of the windowed mode in test
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 240), 'left'])
+        self._screenshot(FunctionalTest.screenshot_time, 'fullscreen')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 240), 'left'])
         self._screenshot(FunctionalTest.screenshot_time, 'fullscreen')
         self._event(8 + FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 240), 'left'])
@@ -241,20 +262,10 @@ class FunctionalTest(GameObject):
         self._screenshot(FunctionalTest.screenshot_time, '1280x720')
         # antialiasing
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 420), 'left'])
-        self._screenshot(FunctionalTest.screenshot_time, 'antialiasing_no')
+        self._screenshot(FunctionalTest.screenshot_time, 'antialiasing_yes')
         # shadows
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 510), 'left'])
-        self._screenshot(FunctionalTest.screenshot_time, 'shadows_no')
-        # test aa and shadows
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 630), 'left'])  # back
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 130), 'left'])  # play
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(220, 150), 'left'])  # domino
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(845, 455), 'left'])  # close instructions
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(25, 695), 'left'])  # home
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 270), 'left'])  # options
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 420), 'left'])  # aa
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 510), 'left'])  # shadows
-        self._screenshot(FunctionalTest.screenshot_time, 'aa_no_shadows_no')
+        self._screenshot(FunctionalTest.screenshot_time, 'shadows_yes')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 630), 'left'])  # back
 
     #     # go to options
@@ -293,16 +304,16 @@ class FunctionalTest(GameObject):
         self._screenshot(FunctionalTest.screenshot_time, 'play_menu')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(220, 150), 'left'])  # domino scene
         self._screenshot(FunctionalTest.screenshot_time, 'scene_domino_instructions')
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(845, 455), 'left'])  # close instructions
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(800, 455), 'left'])  # close instructions
         self._screenshot(FunctionalTest.screenshot_time, 'scene_domino')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(25, 695), 'left'])  # home
         self._screenshot(FunctionalTest.screenshot_time, 'home_back_from_scene')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 130), 'left'])  # play
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(220, 150), 'left'])  # domino
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(845, 455), 'left'])  # close instructions
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(800, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(60, 695), 'left'])  # info
         self._screenshot(FunctionalTest.screenshot_time, 'info')
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(845, 455), 'left'])  # close instructions
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(800, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(30, 50), (370, 220), 'left'])  # drag a piece
         self._screenshot(FunctionalTest.screenshot_time, 'domino_dragged')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(500, 340), 'left'])  # rewind
@@ -315,7 +326,7 @@ class FunctionalTest(GameObject):
         self._screenshot(FunctionalTest.screenshot_time, 'home_back_from_fail')
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(640, 130), 'left'])  # play
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(220, 150), 'left'])  # domino
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(845, 455), 'left'])  # close instructions
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(800, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(30, 50), (525, 350), 'left'])  # drag a piece
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(30, 50), (670, 350), 'left'])  # drag a piece
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
@@ -329,6 +340,7 @@ class FunctionalTest(GameObject):
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(690, 420), 'left'])  # next
         self._screenshot(FunctionalTest.screenshot_time, 'scene_box')
         # scene 2
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(830, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (660, 585), 'left'])  # drag a box
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (660, 515), 'left'])  # drag a box
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
@@ -342,6 +354,7 @@ class FunctionalTest(GameObject):
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(690, 420), 'left'])  # next
         self._screenshot(FunctionalTest.screenshot_time, 'scene_box_domino')
         # scene 3
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(875, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (865, 415), 'left'])  # drag a box
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (865, 330), 'left'])  # drag a box
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
@@ -354,6 +367,7 @@ class FunctionalTest(GameObject):
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(690, 420), 'left'])  # next
         self._screenshot(FunctionalTest.screenshot_time, 'scene_basketball')
         # scene 4
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(820, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (630, 300), 'left'])  # drag a ball
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
         self._screenshot(10 + FunctionalTest.screenshot_time, 'fail_basketball')
@@ -364,6 +378,7 @@ class FunctionalTest(GameObject):
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(690, 420), 'left'])  # next
         self._screenshot(FunctionalTest.screenshot_time, 'scene_domino_box_basketball')
         # scene 5
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(815, 455), 'left'])  # close instructions
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (550, 415), 'left'])  # drag a box
         self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(30, 50), (560, 340), 'left'])  # drag a piece
         self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
@@ -378,6 +393,7 @@ class FunctionalTest(GameObject):
         # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(690, 420), 'left'])  # next
         # self._screenshot(FunctionalTest.screenshot_time, 'scene_teeter_tooter')
         # # scene 6
+        # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(820, 455), 'left'])  # close instructions
         # self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (490, 300), 'left'])  # drag a box
         # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
         # self._screenshot(10 + FunctionalTest.screenshot_time, 'fail_teeter_tooter')
@@ -389,6 +405,7 @@ class FunctionalTest(GameObject):
         # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(690, 420), 'left'])  # next
         # self._screenshot(FunctionalTest.screenshot_time, 'scene_teeter_domino_box_basketball')
         # scene 7
+        # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(880, 455), 'left'])  # close instructions
         # self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(60, 60), (155, 180), 'left'])  # drag a box
         # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
         # self._screenshot(10 + FunctionalTest.screenshot_time, 'fail_teeter_domino_box_basketball')
@@ -397,7 +414,7 @@ class FunctionalTest(GameObject):
         # self._event(FunctionalTest.evt_time, 'mousedrag', False, False, [(195, 50), (195, 80), 'right'])  # rotate a box
         # self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(1260, 695), 'left'])  # play
         # self._screenshot(10 + FunctionalTest.screenshot_time, 'win_teeter_domino_box_basketball')
-        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(590, 420), 'left'])  # home
+        self._event(FunctionalTest.evt_time, 'mouseclick', False, False, [(590, 420), 'left'])  # home
         self._screenshot(FunctionalTest.screenshot_time, 'home_from_play')
 
     def _do_screenshots_exit(self):
@@ -416,7 +433,10 @@ class FunctionalTest(GameObject):
 
     def _do_screenshots_2(self):
         info('_do_screenshots_2')
-    #     self._do_screenshots_restore_options()
+        self._screenshot(FunctionalTest.start_time, 'main_menu_2')
+        self._do_screenshots_restore_options()
+        self._do_screenshots_play()
+        self._do_screenshots_exit()
     #     self._do_screenshots_game()
     #     self._do_screenshots_end()
 
diff --git a/prj.org b/prj.org
index 38c762e677eafef56d449ada8143760ea6917daf..1311413357f4d945b65a26fdcf4d5dd6ca1ad16c 100644 (file)
--- a/prj.org
+++ b/prj.org
@@ -2,12 +2,11 @@
 * todo
 ** refactoring
 ** build pipeline
-*** TODO functional tests
-    SCHEDULED: <2022-03-25 Fri>
+*** functional tests
     - [X] credits
     - [X] options
     - [X] play
-    - [ ] save-restore options
+    - [X] save-restore options
     - [ ] code
     - [ ] appimage
     - [ ] flatpak