kokopu-react 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.eslintrc.yml +1 -1
  2. package/CHANGELOG.md +6 -0
  3. package/dist/lib/chessboard/BoardProperties.js.map +1 -1
  4. package/dist/lib/chessboard/Chessboard.css +13 -13
  5. package/dist/lib/chessboard/Chessboard.js.map +1 -1
  6. package/dist/lib/chessboard/ChessboardImpl.js.map +1 -1
  7. package/dist/lib/chessboard/Draggable.js.map +1 -1
  8. package/dist/lib/chessboard/Motion.js.map +1 -1
  9. package/dist/lib/chessboard/colorsets.js.map +1 -1
  10. package/dist/lib/chessboard/piecesets.js.map +1 -1
  11. package/dist/lib/errorbox/ErrorBox.css +18 -18
  12. package/dist/lib/errorbox/ErrorBox.js.map +1 -1
  13. package/dist/lib/errorbox/parsing.js.map +1 -1
  14. package/dist/lib/exception.js.map +1 -1
  15. package/dist/lib/i18n.d.ts +1 -0
  16. package/dist/lib/i18n.js +1 -0
  17. package/dist/lib/i18n.js.map +1 -1
  18. package/dist/lib/icons/AnnotationSymbolShape.css +6 -6
  19. package/dist/lib/icons/AnnotationSymbolShape.js.map +1 -1
  20. package/dist/lib/icons/ArrowMarkerIcon.js.map +1 -1
  21. package/dist/lib/icons/ArrowTip.js.map +1 -1
  22. package/dist/lib/icons/ChessPieceIcon.js.map +1 -1
  23. package/dist/lib/icons/SquareMarkerIcon.js.map +1 -1
  24. package/dist/lib/icons/TextMarkerIcon.js.map +1 -1
  25. package/dist/lib/icons/arrow.css +1 -1
  26. package/dist/lib/index.d.ts +1 -0
  27. package/dist/lib/index.js +1 -0
  28. package/dist/lib/index.js.map +1 -1
  29. package/dist/lib/movetext/Movetext.css +27 -27
  30. package/dist/lib/movetext/Movetext.js.map +1 -1
  31. package/dist/lib/movetext/MovetextImpl.js.map +1 -1
  32. package/dist/lib/movetext/fonts.css +7 -7
  33. package/dist/lib/movetext/htmlFilter.js.map +1 -1
  34. package/dist/lib/movetext/moveFormatter.js.map +1 -1
  35. package/dist/lib/navigationboard/NavigationBoard.d.ts +39 -1
  36. package/dist/lib/navigationboard/NavigationBoard.js +94 -11
  37. package/dist/lib/navigationboard/NavigationBoard.js.map +1 -1
  38. package/dist/lib/navigationboard/NavigationButton.d.ts +54 -0
  39. package/dist/lib/navigationboard/NavigationButton.js +35 -0
  40. package/dist/lib/navigationboard/NavigationButton.js.map +1 -0
  41. package/dist/lib/navigationboard/NavigationField.css +7 -7
  42. package/dist/lib/navigationboard/NavigationField.js.map +1 -1
  43. package/dist/lib/navigationboard/NavigationToolbar.css +16 -13
  44. package/dist/lib/navigationboard/NavigationToolbar.d.ts +3 -10
  45. package/dist/lib/navigationboard/NavigationToolbar.js +31 -82
  46. package/dist/lib/navigationboard/NavigationToolbar.js.map +1 -1
  47. package/dist/lib/navigationboard/iconPaths.d.ts +29 -0
  48. package/dist/lib/navigationboard/iconPaths.js +91 -0
  49. package/dist/lib/navigationboard/iconPaths.js.map +1 -0
  50. package/dist/lib/sanitization.js.map +1 -1
  51. package/dist/lib/types.js.map +1 -1
  52. package/dist/lib/util.js.map +1 -1
  53. package/doc_src/demo/PageChessboardBase.tsx +115 -115
  54. package/doc_src/demo/PageChessboardInteraction.tsx +303 -303
  55. package/doc_src/demo/PageChessboardMove.tsx +173 -173
  56. package/doc_src/demo/PageChessboardSmallScreens.tsx +94 -94
  57. package/doc_src/demo/PageMovetextBase.tsx +180 -180
  58. package/doc_src/demo/PageMovetextInteraction.tsx +123 -123
  59. package/doc_src/demo/PageNavigationBoardBase.tsx +144 -137
  60. package/doc_src/demo/PageNavigationBoardUncontrolledVsControlled.tsx +69 -69
  61. package/doc_src/demo/decs.d.ts +4 -4
  62. package/doc_src/demo/demo.css +12 -12
  63. package/doc_src/demo/util.ts +1 -1
  64. package/doc_src/examples/NavigationBoard.md +1 -1
  65. package/doc_src/theming/LogoRenderer.js +13 -13
  66. package/doc_src/theming/theming.css +5 -5
  67. package/package.json +95 -95
  68. package/scripts/doc.styleguide.config.js +131 -131
  69. package/scripts/doc.tsconfig.json +5 -5
  70. package/scripts/docker-compose.yml +1 -1
  71. package/scripts/test-graphic.tsconfig.json +5 -5
  72. package/scripts/test-graphic.webpack.config.js +57 -57
  73. package/scripts/test-headless.webpack.config.js +29 -29
  74. package/src/chessboard/BoardProperties.ts +68 -68
  75. package/src/chessboard/Chessboard.css +13 -13
  76. package/src/chessboard/Chessboard.tsx +380 -380
  77. package/src/chessboard/ChessboardImpl.tsx +557 -557
  78. package/src/chessboard/Draggable.tsx +185 -185
  79. package/src/chessboard/Motion.tsx +67 -67
  80. package/src/chessboard/colorsets.ts +66 -66
  81. package/src/chessboard/piecesets.ts +84 -84
  82. package/src/decs.d.ts +2 -2
  83. package/src/errorbox/ErrorBox.css +18 -18
  84. package/src/errorbox/ErrorBox.tsx +75 -75
  85. package/src/errorbox/parsing.tsx +95 -95
  86. package/src/exception.ts +17 -17
  87. package/src/i18n.ts +1 -0
  88. package/src/icons/AnnotationSymbolShape.css +6 -6
  89. package/src/icons/AnnotationSymbolShape.tsx +31 -31
  90. package/src/icons/ArrowMarkerIcon.tsx +34 -34
  91. package/src/icons/ArrowTip.tsx +14 -14
  92. package/src/icons/ChessPieceIcon.tsx +45 -45
  93. package/src/icons/SquareMarkerIcon.tsx +20 -20
  94. package/src/icons/TextMarkerIcon.tsx +29 -29
  95. package/src/icons/arrow.css +1 -1
  96. package/src/index.ts +3 -2
  97. package/src/movetext/Movetext.css +27 -27
  98. package/src/movetext/Movetext.tsx +158 -158
  99. package/src/movetext/MovetextImpl.tsx +345 -345
  100. package/src/movetext/fonts.css +7 -7
  101. package/src/movetext/htmlFilter.tsx +129 -129
  102. package/src/movetext/moveFormatter.tsx +37 -37
  103. package/src/navigationboard/NavigationBoard.tsx +297 -178
  104. package/src/navigationboard/NavigationButton.ts +72 -0
  105. package/src/navigationboard/NavigationField.css +7 -7
  106. package/src/navigationboard/NavigationField.tsx +90 -90
  107. package/src/navigationboard/NavigationToolbar.css +16 -13
  108. package/src/navigationboard/NavigationToolbar.tsx +60 -117
  109. package/src/navigationboard/iconPaths.ts +98 -0
  110. package/src/sanitization.ts +17 -17
  111. package/src/types.ts +116 -116
  112. package/src/util.ts +11 -11
  113. package/test/01_types.js +167 -167
  114. package/test/02_chessboard_util.js +114 -114
  115. package/test/03_error_box_graphic.js +16 -16
  116. package/test/04_icons_graphic.js +32 -32
  117. package/test/05_chessboard_graphic.js +60 -60
  118. package/test/06_chessboard_animation.js +36 -36
  119. package/test/07_chessboard_interaction.js +101 -101
  120. package/test/08_chessboard_play_moves.js +62 -62
  121. package/test/09_chessboard_small_screens.js +32 -32
  122. package/test/10_movetext_graphic.js +32 -32
  123. package/test/11_movetext_interaction.js +100 -100
  124. package/test/12_navigation_board_base.js +151 -0
  125. package/test/13_navigation_board_graphic.js +68 -0
  126. package/test/14_navigation_board_autoplay.js +100 -0
  127. package/test/common/graphic.js +106 -97
  128. package/test/graphic_references/12_navigation_board_base/controlled/default.png +0 -0
  129. package/test/graphic_references/{12_navigation_board/controlled/forbidden_navigation_1.png → 12_navigation_board_base/controlled/forbidden_navigation_0.png} +0 -0
  130. package/test/graphic_references/{12_navigation_board/controlled/invalid_node_id.png → 12_navigation_board_base/controlled/forbidden_navigation_1.png} +0 -0
  131. package/test/graphic_references/{12_navigation_board/controlled/forbidden_navigation_0.png → 12_navigation_board_base/controlled/invalid_node_id.png} +0 -0
  132. package/test/graphic_references/12_navigation_board_base/controlled/no_callback_defined_0.png +0 -0
  133. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/controlled/no_callback_defined_1.png +0 -0
  134. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/controlled/overriding_initial_node_id.png +0 -0
  135. package/test/graphic_references/{12_navigation_board/controlled/regular_navigation_1.png → 12_navigation_board_base/controlled/regular_navigation_0.png} +0 -0
  136. package/test/graphic_references/{12_navigation_board/uncontrolled/initial_state_at_specific_id.png → 12_navigation_board_base/controlled/regular_navigation_1.png} +0 -0
  137. package/test/graphic_references/{12_navigation_board/controlled/regular_navigation_3.png → 12_navigation_board_base/controlled/regular_navigation_2.png} +0 -0
  138. package/test/graphic_references/{12_navigation_board/controlled/regular_navigation_0.png → 12_navigation_board_base/controlled/regular_navigation_3.png} +0 -0
  139. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_2.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_beginning_0.png} +0 -0
  140. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_0.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_beginning_1.png} +0 -0
  141. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_beginning_1.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_beginning_2.png} +0 -0
  142. package/test/graphic_references/{12_navigation_board/controlled/no_callback_defined_0.png → 12_navigation_board_base/uncontrolled/forbidden_navigation_at_end_0.png} +0 -0
  143. package/test/graphic_references/12_navigation_board_base/uncontrolled/forbidden_navigation_at_end_1.png +0 -0
  144. package/test/graphic_references/12_navigation_board_base/uncontrolled/forbidden_navigation_at_end_2.png +0 -0
  145. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_at_end.png +0 -0
  146. package/test/graphic_references/12_navigation_board_base/uncontrolled/initial_state_at_specific_id.png +0 -0
  147. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_default.png +0 -0
  148. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_default_with_game_index.png +0 -0
  149. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/initial_state_on_null-move.png +0 -0
  150. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_0.png +0 -0
  151. package/test/graphic_references/12_navigation_board_base/uncontrolled/navigation_with_keys_1.png +0 -0
  152. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_2.png +0 -0
  153. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_3.png +0 -0
  154. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/navigation_with_keys_4.png +0 -0
  155. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_flipping_0.png +0 -0
  156. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_flipping_1.png +0 -0
  157. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_0.png +0 -0
  158. package/test/graphic_references/{12_navigation_board/controlled/default.png → 12_navigation_board_base/uncontrolled/regular_navigation_1.png} +0 -0
  159. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_2.png +0 -0
  160. package/test/graphic_references/12_navigation_board_base/uncontrolled/regular_navigation_3.png +0 -0
  161. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_4.png +0 -0
  162. package/test/graphic_references/{12_navigation_board → 12_navigation_board_base}/uncontrolled/regular_navigation_5.png +0 -0
  163. package/test/graphic_references/13_navigation_board_graphic/additional_buttons/error_1.png +0 -0
  164. package/test/graphic_references/13_navigation_board_graphic/additional_buttons/error_2.png +0 -0
  165. package/test/graphic_references/13_navigation_board_graphic/additional_buttons/multiple_buttons.png +0 -0
  166. package/test/graphic_references/{12_navigation_board/uncontrolled/regular_navigation_3.png → 13_navigation_board_graphic/additional_buttons/single_button.png} +0 -0
  167. package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/theme/custom_1.png +0 -0
  168. package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/theme/custom_2.png +0 -0
  169. package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/theme/large.png +0 -0
  170. package/test/graphic_references/13_navigation_board_graphic/theme/small.png +0 -0
  171. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_1_move_acknowledging_is-playing_changes.png +0 -0
  172. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_1_move_not_acknowledging_is-playing_changes.png +0 -0
  173. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_2_moves_acknowledging_node_changes.png +0 -0
  174. package/test/graphic_references/14_navigation_board_autoplay/controlled/after_2_moves_not_acknowledging_node_changes.png +0 -0
  175. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_end_1.png → 14_navigation_board_autoplay/controlled/after_reaching_the_end.png} +0 -0
  176. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_end_2.png → 14_navigation_board_autoplay/controlled/already_at_the_end.png} +0 -0
  177. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_acknowledging_is-playing_changes.png +0 -0
  178. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_acknowledging_node_changes.png +0 -0
  179. package/test/graphic_references/{12_navigation_board/uncontrolled/forbidden_navigation_at_end_0.png → 14_navigation_board_autoplay/controlled/initial_state_at_the_end.png} +0 -0
  180. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_close_to_end.png +0 -0
  181. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_not_acknowledging_is-playing_changes.png +0 -0
  182. package/test/graphic_references/14_navigation_board_autoplay/controlled/initial_state_not_acknowledging_node_changes.png +0 -0
  183. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_2_moves_from_beginning_after_stop.png +0 -0
  184. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_2_moves_from_beginning_before_stop.png +0 -0
  185. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_reaching_the_end_after_stop.png +0 -0
  186. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/after_reaching_the_end_before_stop.png +0 -0
  187. package/test/graphic_references/14_navigation_board_autoplay/uncontrolled/initial_state_close_to_end.png +0 -0
  188. package/test/graphic_references/{12_navigation_board/uncontrolled/navigation_with_keys_1.png → 14_navigation_board_autoplay/uncontrolled/initial_state_default.png} +0 -0
  189. package/test/graphic_test_app/03_error_box_graphic/base.tsx +14 -14
  190. package/test/graphic_test_app/03_error_box_graphic/localization.tsx +1 -1
  191. package/test/graphic_test_app/04_icons_graphic/chess_piece.tsx +7 -7
  192. package/test/graphic_test_app/04_icons_graphic/marker.tsx +15 -15
  193. package/test/graphic_test_app/05_chessboard_graphic/annotations.tsx +7 -7
  194. package/test/graphic_test_app/05_chessboard_graphic/base.tsx +6 -6
  195. package/test/graphic_test_app/05_chessboard_graphic/chess_variants.tsx +7 -7
  196. package/test/graphic_test_app/05_chessboard_graphic/flipped.tsx +5 -5
  197. package/test/graphic_test_app/05_chessboard_graphic/move.tsx +12 -12
  198. package/test/graphic_test_app/05_chessboard_graphic/theme.tsx +12 -12
  199. package/test/graphic_test_app/06_chessboard_animation/base_1.tsx +6 -6
  200. package/test/graphic_test_app/06_chessboard_animation/base_2.tsx +6 -6
  201. package/test/graphic_test_app/06_chessboard_animation/base_3.tsx +6 -6
  202. package/test/graphic_test_app/06_chessboard_animation/on_redraw.tsx +16 -16
  203. package/test/graphic_test_app/07_chessboard_interaction/click_squares.tsx +5 -5
  204. package/test/graphic_test_app/07_chessboard_interaction/edit_arrows.tsx +4 -4
  205. package/test/graphic_test_app/07_chessboard_interaction/error.tsx +2 -2
  206. package/test/graphic_test_app/07_chessboard_interaction/move_pieces.tsx +5 -5
  207. package/test/graphic_test_app/08_chessboard_play_moves/base.tsx +8 -8
  208. package/test/graphic_test_app/08_chessboard_play_moves/promotions.tsx +4 -4
  209. package/test/graphic_test_app/09_chessboard_small_screens/base.tsx +9 -9
  210. package/test/graphic_test_app/09_chessboard_small_screens/top_bottom_components.tsx +9 -9
  211. package/test/graphic_test_app/10_movetext_graphic/base.tsx +4 -4
  212. package/test/graphic_test_app/10_movetext_graphic/error.tsx +6 -6
  213. package/test/graphic_test_app/10_movetext_graphic/format_move.tsx +1 -1
  214. package/test/graphic_test_app/10_movetext_graphic/html.tsx +5 -5
  215. package/test/graphic_test_app/10_movetext_graphic/options.tsx +10 -10
  216. package/test/graphic_test_app/11_movetext_interaction/error.tsx +1 -1
  217. package/test/graphic_test_app/11_movetext_interaction/select_moves.tsx +11 -11
  218. package/test/graphic_test_app/{12_navigation_board → 12_navigation_board_base}/controlled.tsx +5 -5
  219. package/test/graphic_test_app/{12_navigation_board → 12_navigation_board_base}/uncontrolled.tsx +7 -7
  220. package/test/graphic_test_app/13_navigation_board_graphic/additional_buttons.tsx +49 -0
  221. package/test/graphic_test_app/{12_navigation_board → 13_navigation_board_graphic}/error.tsx +2 -2
  222. package/test/graphic_test_app/{12_navigation_board → 13_navigation_board_graphic}/theme.tsx +4 -4
  223. package/test/graphic_test_app/14_navigation_board_autoplay/controlled.tsx +73 -0
  224. package/test/graphic_test_app/14_navigation_board_autoplay/uncontrolled.tsx +34 -0
  225. package/test/graphic_test_app/common/decs.d.ts +2 -2
  226. package/test/graphic_test_app/common/test_app.css +15 -15
  227. package/test/graphic_test_app/common/test_app.tsx +48 -48
  228. package/tsconfig.json +13 -13
  229. package/test/12_navigation_board.js +0 -168
  230. package/test/graphic_references/12_navigation_board/controlled/regular_navigation_2.png +0 -0
  231. package/test/graphic_references/12_navigation_board/theme/small.png +0 -0
  232. package/test/graphic_references/12_navigation_board/uncontrolled/regular_navigation_1.png +0 -0
  233. /package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/error/pgn_parsing_error.png +0 -0
  234. /package/test/graphic_references/{12_navigation_board → 13_navigation_board_graphic}/error/wrong_game_type.png +0 -0
@@ -27,106 +27,106 @@ const { describeWithBrowser, itCustom, setSandbox, compareSandbox, takeScreensho
27
27
 
28
28
  describeWithBrowser('Chessboard interaction', browserContext => {
29
29
 
30
- function itCheckClickSquare(itemIndex, label, targets) {
31
- itCustom(browserContext, '07_chessboard_interaction/click_squares', itemIndex, label, async element => {
32
- const actions = browserContext.driver.actions({ async: true });
33
- const area = await element.getRect();
34
- for (let i = 0; i < targets.length; ++i) {
35
- const target = targets[i];
36
- await actions.move({ x: area.x + target.x, y: area.y + target.y }).click().perform();
37
- await compareSandbox(browserContext, target.expectedText);
38
- }
39
- });
40
- }
41
-
42
- itCheckClickSquare(0, 'default', [
43
- { x: 225, y: 75, expectedText: 'square clicked: e7' },
44
- { x: 25, y: 375, expectedText: 'square clicked: a1' },
45
- { x: 325, y: 175, expectedText: 'square clicked: g5' },
46
- ]);
47
- itCheckClickSquare(1, 'with flip', [
48
- { x: 325, y: 175, expectedText: 'square clicked: b4' },
49
- ]);
50
- itCheckClickSquare(2, 'over annotations', [
51
- { x: 25, y: 25, expectedText: 'square clicked: a8' },
52
- { x: 75, y: 125, expectedText: 'square clicked: b6' },
53
- { x: 175, y: 125, expectedText: 'square clicked: d6' },
54
- { x: 75, y: 225, expectedText: 'square clicked: b4' },
55
- ]);
56
-
57
- function itCheckMovePiece(itemIndex, label, xFrom, yFrom, xTo, yTo, expectedText) {
58
- itCustom(browserContext, '07_chessboard_interaction/move_pieces', itemIndex, label, async element => {
59
- const actions = browserContext.driver.actions({ async: true });
60
- const area = await element.getRect();
61
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
62
- await takeScreenshot(browserContext, label, element);
63
- await actions.release().perform();
64
- await compareScreenshot(browserContext, label);
65
- await compareSandbox(browserContext, expectedText);
66
- });
67
- }
68
-
69
- itCheckMovePiece(0, 'over empty', 275, 385, 225, 175, 'piece moved: f1 -> e5');
70
- itCheckMovePiece(0, 'over non-empty 1', 280, 365, 75, 75, 'piece moved: f1 -> b7');
71
- itCheckMovePiece(0, 'over non-empty 2', 130, 75, 225, 375, 'piece moved: c7 -> e1');
72
- itCheckMovePiece(1, 'over square marker', 10, 325, 275, 175, 'piece moved: h7 -> c4');
73
- itCheckMovePiece(1, 'over text marker', 225, 25, 10, 135, 'piece moved: d1 -> h3');
74
- itCheckMovePiece(1, 'over arrow marker', 325, 25, 315, 260, 'piece moved: b1 -> b6');
75
- itCheckMovePiece(2, 'after move', 225, 225, 75, 260, 'piece moved: e4 -> b3');
76
-
77
- function itCheckNonMovePiece(itemIndex, label, xFrom, yFrom, xTo, yTo) {
78
- itCustom(browserContext, '07_chessboard_interaction/move_pieces', itemIndex, label, async element => {
79
- await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
80
- const actions = browserContext.driver.actions({ async: true });
81
- const area = await element.getRect();
82
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
83
- await takeScreenshot(browserContext, label, element);
84
- await actions.release().perform();
85
- await compareScreenshot(browserContext, label);
86
- await compareSandbox(browserContext, label);
87
- });
88
- }
89
-
90
- itCheckNonMovePiece(0, 'move empty square', 175, 225, 275, 75);
91
- itCheckNonMovePiece(0, 'from == to', 75, 375, 80, 360);
92
- itCheckNonMovePiece(0, 'out of board', 175, 25, 500, 210);
93
-
94
- function itCheckEditArrow(itemIndex, label, xFrom, yFrom, xTo, yTo, expectedText) {
95
- itCustom(browserContext, '07_chessboard_interaction/edit_arrows', itemIndex, label, async element => {
96
- const actions = browserContext.driver.actions({ async: true });
97
- const area = await element.getRect();
98
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
99
- await takeScreenshot(browserContext, label, element);
100
- await actions.release().perform();
101
- await compareScreenshot(browserContext, label);
102
- await compareSandbox(browserContext, expectedText);
103
- });
104
- }
105
-
106
- itCheckEditArrow(0, 'base 1', 325, 275, 110, 140, 'arrow edited: g3 -> c6');
107
- itCheckEditArrow(0, 'base 2', 260, 10, 175, 375, 'arrow edited: f8 -> d1');
108
- itCheckEditArrow(1, 'over square marker', 275, 125, 275, 230, 'arrow edited: c3 -> c5');
109
- itCheckEditArrow(1, 'over arrow marker', 40, 110, 125, 290, 'arrow edited: h3 -> f6');
110
-
111
- function itCheckNonEditArrow(itemIndex, label, xFrom, yFrom, xTo, yTo) {
112
- itCustom(browserContext, '07_chessboard_interaction/edit_arrows', itemIndex, label, async element => {
113
- await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
114
- const actions = browserContext.driver.actions({ async: true });
115
- const area = await element.getRect();
116
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
117
- await takeScreenshot(browserContext, label, element);
118
- await actions.release().perform();
119
- await compareScreenshot(browserContext, label);
120
- await compareSandbox(browserContext, label);
121
- });
122
- }
123
-
124
- itCheckNonEditArrow(0, 'from == to', 275, 225, 290, 210);
125
- itCheckNonEditArrow(0, 'out of board', 175, 225, 500, 280);
126
-
127
- itChecksScreenshots(browserContext, '07_chessboard_interaction/error', [
128
- 'wrong interaction mode',
129
- 'edit color not set',
130
- ]);
30
+ function itCheckClickSquare(itemIndex, label, targets) {
31
+ itCustom(browserContext, '07_chessboard_interaction/click_squares', itemIndex, label, async element => {
32
+ const actions = browserContext.driver.actions({ async: true });
33
+ const area = await element.getRect();
34
+ for (let i = 0; i < targets.length; ++i) {
35
+ const target = targets[i];
36
+ await actions.move({ x: area.x + target.x, y: area.y + target.y }).click().perform();
37
+ await compareSandbox(browserContext, target.expectedText);
38
+ }
39
+ });
40
+ }
41
+
42
+ itCheckClickSquare(0, 'default', [
43
+ { x: 225, y: 75, expectedText: 'square clicked: e7' },
44
+ { x: 25, y: 375, expectedText: 'square clicked: a1' },
45
+ { x: 325, y: 175, expectedText: 'square clicked: g5' },
46
+ ]);
47
+ itCheckClickSquare(1, 'with flip', [
48
+ { x: 325, y: 175, expectedText: 'square clicked: b4' },
49
+ ]);
50
+ itCheckClickSquare(2, 'over annotations', [
51
+ { x: 25, y: 25, expectedText: 'square clicked: a8' },
52
+ { x: 75, y: 125, expectedText: 'square clicked: b6' },
53
+ { x: 175, y: 125, expectedText: 'square clicked: d6' },
54
+ { x: 75, y: 225, expectedText: 'square clicked: b4' },
55
+ ]);
56
+
57
+ function itCheckMovePiece(itemIndex, label, xFrom, yFrom, xTo, yTo, expectedText) {
58
+ itCustom(browserContext, '07_chessboard_interaction/move_pieces', itemIndex, label, async element => {
59
+ const actions = browserContext.driver.actions({ async: true });
60
+ const area = await element.getRect();
61
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
62
+ await takeScreenshot(browserContext, label, element);
63
+ await actions.release().perform();
64
+ await compareScreenshot(browserContext, label);
65
+ await compareSandbox(browserContext, expectedText);
66
+ });
67
+ }
68
+
69
+ itCheckMovePiece(0, 'over empty', 275, 385, 225, 175, 'piece moved: f1 -> e5');
70
+ itCheckMovePiece(0, 'over non-empty 1', 280, 365, 75, 75, 'piece moved: f1 -> b7');
71
+ itCheckMovePiece(0, 'over non-empty 2', 130, 75, 225, 375, 'piece moved: c7 -> e1');
72
+ itCheckMovePiece(1, 'over square marker', 10, 325, 275, 175, 'piece moved: h7 -> c4');
73
+ itCheckMovePiece(1, 'over text marker', 225, 25, 10, 135, 'piece moved: d1 -> h3');
74
+ itCheckMovePiece(1, 'over arrow marker', 325, 25, 315, 260, 'piece moved: b1 -> b6');
75
+ itCheckMovePiece(2, 'after move', 225, 225, 75, 260, 'piece moved: e4 -> b3');
76
+
77
+ function itCheckNonMovePiece(itemIndex, label, xFrom, yFrom, xTo, yTo) {
78
+ itCustom(browserContext, '07_chessboard_interaction/move_pieces', itemIndex, label, async element => {
79
+ await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
80
+ const actions = browserContext.driver.actions({ async: true });
81
+ const area = await element.getRect();
82
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
83
+ await takeScreenshot(browserContext, label, element);
84
+ await actions.release().perform();
85
+ await compareScreenshot(browserContext, label);
86
+ await compareSandbox(browserContext, label);
87
+ });
88
+ }
89
+
90
+ itCheckNonMovePiece(0, 'move empty square', 175, 225, 275, 75);
91
+ itCheckNonMovePiece(0, 'from == to', 75, 375, 80, 360);
92
+ itCheckNonMovePiece(0, 'out of board', 175, 25, 500, 210);
93
+
94
+ function itCheckEditArrow(itemIndex, label, xFrom, yFrom, xTo, yTo, expectedText) {
95
+ itCustom(browserContext, '07_chessboard_interaction/edit_arrows', itemIndex, label, async element => {
96
+ const actions = browserContext.driver.actions({ async: true });
97
+ const area = await element.getRect();
98
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
99
+ await takeScreenshot(browserContext, label, element);
100
+ await actions.release().perform();
101
+ await compareScreenshot(browserContext, label);
102
+ await compareSandbox(browserContext, expectedText);
103
+ });
104
+ }
105
+
106
+ itCheckEditArrow(0, 'base 1', 325, 275, 110, 140, 'arrow edited: g3 -> c6');
107
+ itCheckEditArrow(0, 'base 2', 260, 10, 175, 375, 'arrow edited: f8 -> d1');
108
+ itCheckEditArrow(1, 'over square marker', 275, 125, 275, 230, 'arrow edited: c3 -> c5');
109
+ itCheckEditArrow(1, 'over arrow marker', 40, 110, 125, 290, 'arrow edited: h3 -> f6');
110
+
111
+ function itCheckNonEditArrow(itemIndex, label, xFrom, yFrom, xTo, yTo) {
112
+ itCustom(browserContext, '07_chessboard_interaction/edit_arrows', itemIndex, label, async element => {
113
+ await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
114
+ const actions = browserContext.driver.actions({ async: true });
115
+ const area = await element.getRect();
116
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
117
+ await takeScreenshot(browserContext, label, element);
118
+ await actions.release().perform();
119
+ await compareScreenshot(browserContext, label);
120
+ await compareSandbox(browserContext, label);
121
+ });
122
+ }
123
+
124
+ itCheckNonEditArrow(0, 'from == to', 275, 225, 290, 210);
125
+ itCheckNonEditArrow(0, 'out of board', 175, 225, 500, 280);
126
+
127
+ itChecksScreenshots(browserContext, '07_chessboard_interaction/error', [
128
+ 'wrong interaction mode',
129
+ 'edit color not set',
130
+ ]);
131
131
 
132
132
  });
@@ -27,74 +27,74 @@ const { describeWithBrowser, itCustom, setSandbox, compareSandbox, takeScreensho
27
27
 
28
28
  describeWithBrowser('Chessboard play moves', browserContext => {
29
29
 
30
- function itCheckPlayMove(itemIndex, label, xFrom, yFrom, xTo, yTo, expectedText) {
31
- itCustom(browserContext, '08_chessboard_play_moves/base', itemIndex, label, async element => {
32
- const actions = browserContext.driver.actions({ async: true });
33
- const area = await element.getRect();
34
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
35
- await takeScreenshot(browserContext, label, element);
36
- await actions.release().perform();
37
- await compareScreenshot(browserContext, label);
38
- await compareSandbox(browserContext, expectedText);
39
- });
40
- }
30
+ function itCheckPlayMove(itemIndex, label, xFrom, yFrom, xTo, yTo, expectedText) {
31
+ itCustom(browserContext, '08_chessboard_play_moves/base', itemIndex, label, async element => {
32
+ const actions = browserContext.driver.actions({ async: true });
33
+ const area = await element.getRect();
34
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
35
+ await takeScreenshot(browserContext, label, element);
36
+ await actions.release().perform();
37
+ await compareScreenshot(browserContext, label);
38
+ await compareSandbox(browserContext, expectedText);
39
+ });
40
+ }
41
41
 
42
- itCheckPlayMove(0, 'regular move 1', 225, 335, 220, 225, 'move played: e4');
43
- itCheckPlayMove(1, 'regular move 2', 275, 225, 135, 85, 'move played: Bxf2+');
44
- itCheckPlayMove(1, 'castling move', 175, 375, 75, 375, 'move played: O-O');
45
- itCheckPlayMove(3, 'chess960 castling move 1', 275, 375, 75, 375, 'move played: O-O-O');
46
- itCheckPlayMove(3, 'chess960 castling move 2', 275, 375, 375, 375, 'move played: O-O');
47
- itCheckPlayMove(3, 'chess960 ambiguous king move', 275, 375, 320, 375, 'move played: Kg1');
42
+ itCheckPlayMove(0, 'regular move 1', 225, 335, 220, 225, 'move played: e4');
43
+ itCheckPlayMove(1, 'regular move 2', 275, 225, 135, 85, 'move played: Bxf2+');
44
+ itCheckPlayMove(1, 'castling move', 175, 375, 75, 375, 'move played: O-O');
45
+ itCheckPlayMove(3, 'chess960 castling move 1', 275, 375, 75, 375, 'move played: O-O-O');
46
+ itCheckPlayMove(3, 'chess960 castling move 2', 275, 375, 375, 375, 'move played: O-O');
47
+ itCheckPlayMove(3, 'chess960 ambiguous king move', 275, 375, 320, 375, 'move played: Kg1');
48
48
 
49
- function itCheckNonPlayMove(itemIndex, label, xFrom, yFrom, xTo, yTo) {
50
- itCustom(browserContext, '08_chessboard_play_moves/base', itemIndex, label, async element => {
51
- await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
52
- const actions = browserContext.driver.actions({ async: true });
53
- const area = await element.getRect();
54
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
55
- await takeScreenshot(browserContext, label, element);
56
- await actions.release().perform();
57
- await compareScreenshot(browserContext, label);
58
- await compareSandbox(browserContext, label);
59
- });
60
- }
49
+ function itCheckNonPlayMove(itemIndex, label, xFrom, yFrom, xTo, yTo) {
50
+ itCustom(browserContext, '08_chessboard_play_moves/base', itemIndex, label, async element => {
51
+ await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
52
+ const actions = browserContext.driver.actions({ async: true });
53
+ const area = await element.getRect();
54
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).perform();
55
+ await takeScreenshot(browserContext, label, element);
56
+ await actions.release().perform();
57
+ await compareScreenshot(browserContext, label);
58
+ await compareSandbox(browserContext, label);
59
+ });
60
+ }
61
61
 
62
- itCheckNonPlayMove(2, 'illegal position', 225, 325, 225, 225);
63
- itCheckNonPlayMove(0, 'wrong color moved', 75, 25, 125, 125);
64
- itCheckNonPlayMove(0, 'illegal move', 75, 375, 125, 225);
65
- itCheckNonPlayMove(0, 'from == to', 75, 375, 85, 365);
66
- itCheckNonPlayMove(0, 'out of board', 325, 375, 450, 285);
67
- itCheckNonPlayMove(3, 'chess960 non-KxR castling', 275, 375, 130, 375);
62
+ itCheckNonPlayMove(2, 'illegal position', 225, 325, 225, 225);
63
+ itCheckNonPlayMove(0, 'wrong color moved', 75, 25, 125, 125);
64
+ itCheckNonPlayMove(0, 'illegal move', 75, 375, 125, 225);
65
+ itCheckNonPlayMove(0, 'from == to', 75, 375, 85, 365);
66
+ itCheckNonPlayMove(0, 'out of board', 325, 375, 450, 285);
67
+ itCheckNonPlayMove(3, 'chess960 non-KxR castling', 275, 375, 130, 375);
68
68
 
69
- function itCheckPlayPromotion(itemIndex, label, xFrom, yFrom, xTo, yTo, xPromo, yPromo, expectedText) {
70
- itCustom(browserContext, '08_chessboard_play_moves/promotions', itemIndex, label, async element => {
71
- const actions = browserContext.driver.actions({ async: true });
72
- const area = await element.getRect();
73
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).release().perform();
74
- await takeScreenshot(browserContext, label, element);
75
- await actions.move({ x: area.x + xPromo, y: area.y + yPromo }).click().perform();
76
- await compareScreenshot(browserContext, label);
77
- await compareSandbox(browserContext, expectedText);
78
- });
79
- }
69
+ function itCheckPlayPromotion(itemIndex, label, xFrom, yFrom, xTo, yTo, xPromo, yPromo, expectedText) {
70
+ itCustom(browserContext, '08_chessboard_play_moves/promotions', itemIndex, label, async element => {
71
+ const actions = browserContext.driver.actions({ async: true });
72
+ const area = await element.getRect();
73
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).release().perform();
74
+ await takeScreenshot(browserContext, label, element);
75
+ await actions.move({ x: area.x + xPromo, y: area.y + yPromo }).click().perform();
76
+ await compareScreenshot(browserContext, label);
77
+ await compareSandbox(browserContext, expectedText);
78
+ });
79
+ }
80
80
 
81
- itCheckPlayPromotion(0, 'regular promotion 1', 75, 75, 75, 25, 60, 10, 'promotion move played: b8=Q');
82
- itCheckPlayPromotion(1, 'regular promotion 2', 75, 325, 25, 375, 15, 280, 'promotion move played: bxa1=B');
83
- itCheckPlayPromotion(2, 'antichess promotion', 325, 325, 325, 375, 325, 175, 'promotion move played: b8=K');
81
+ itCheckPlayPromotion(0, 'regular promotion 1', 75, 75, 75, 25, 60, 10, 'promotion move played: b8=Q');
82
+ itCheckPlayPromotion(1, 'regular promotion 2', 75, 325, 25, 375, 15, 280, 'promotion move played: bxa1=B');
83
+ itCheckPlayPromotion(2, 'antichess promotion', 325, 325, 325, 375, 325, 175, 'promotion move played: b8=K');
84
84
 
85
- function itCheckNonPlayPromotion(itemIndex, label, xFrom, yFrom, xTo, yTo, xPromo, yPromo) {
86
- itCustom(browserContext, '08_chessboard_play_moves/promotions', itemIndex, label, async element => {
87
- await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
88
- const actions = browserContext.driver.actions({ async: true });
89
- const area = await element.getRect();
90
- await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).release().perform();
91
- await takeScreenshot(browserContext, label, element);
92
- await actions.move({ x: area.x + xPromo, y: area.y + yPromo }).click().perform();
93
- await compareScreenshot(browserContext, label);
94
- await compareSandbox(browserContext, label);
95
- });
96
- }
85
+ function itCheckNonPlayPromotion(itemIndex, label, xFrom, yFrom, xTo, yTo, xPromo, yPromo) {
86
+ itCustom(browserContext, '08_chessboard_play_moves/promotions', itemIndex, label, async element => {
87
+ await setSandbox(browserContext, label); // can be any value as long as it is unique among other test-cases
88
+ const actions = browserContext.driver.actions({ async: true });
89
+ const area = await element.getRect();
90
+ await actions.move({ x: area.x + xFrom, y: area.y + yFrom }).press().move({ x: area.x + xTo, y: area.y + yTo }).release().perform();
91
+ await takeScreenshot(browserContext, label, element);
92
+ await actions.move({ x: area.x + xPromo, y: area.y + yPromo }).click().perform();
93
+ await compareScreenshot(browserContext, label);
94
+ await compareSandbox(browserContext, label);
95
+ });
96
+ }
97
97
 
98
- itCheckNonPlayPromotion(1, 'cancel promotion', 75, 325, 75, 375, 190, 220);
98
+ itCheckNonPlayPromotion(1, 'cancel promotion', 75, 325, 75, 375, 190, 220);
99
99
 
100
100
  });
@@ -27,47 +27,47 @@ const { describeWithBrowser, itCustom, itChecksScreenshots, takeScreenshot, comp
27
27
 
28
28
  describeWithBrowser('Chessboard on small-screens', browserContext => {
29
29
 
30
- itChecksScreenshots(browserContext, '09_chessboard_small_screens/base', [
31
- 'default',
32
- 'invalid limits',
33
- ]);
30
+ itChecksScreenshots(browserContext, '09_chessboard_small_screens/base', [
31
+ 'default',
32
+ 'invalid limits',
33
+ ]);
34
34
 
35
- function itCheckScreenshotWithWidth(width) {
36
- const label = `width ${width}`;
37
- itCustom(browserContext, '09_chessboard_small_screens/base', 0, label, async element => {
38
- await setWindowWidth(browserContext, width);
39
- await takeScreenshot(browserContext, label, element);
40
- await compareScreenshot(browserContext, label);
41
- });
42
- }
35
+ function itCheckScreenshotWithWidth(width) {
36
+ const label = `width ${width}`;
37
+ itCustom(browserContext, '09_chessboard_small_screens/base', 0, label, async element => {
38
+ await setWindowWidth(browserContext, width);
39
+ await takeScreenshot(browserContext, label, element);
40
+ await compareScreenshot(browserContext, label);
41
+ });
42
+ }
43
43
 
44
- itCheckScreenshotWithWidth(750);
45
- itCheckScreenshotWithWidth(740);
46
- itCheckScreenshotWithWidth(730);
47
- itCheckScreenshotWithWidth(720);
48
- itCheckScreenshotWithWidth(710);
49
- itCheckScreenshotWithWidth(700);
50
- itCheckScreenshotWithWidth(690);
44
+ itCheckScreenshotWithWidth(750);
45
+ itCheckScreenshotWithWidth(740);
46
+ itCheckScreenshotWithWidth(730);
47
+ itCheckScreenshotWithWidth(720);
48
+ itCheckScreenshotWithWidth(710);
49
+ itCheckScreenshotWithWidth(700);
50
+ itCheckScreenshotWithWidth(690);
51
51
 
52
52
  });
53
53
 
54
54
 
55
55
  describeWithBrowser('Chessboard on small-screens with top/bottom components', browserContext => {
56
56
 
57
- itChecksScreenshots(browserContext, '09_chessboard_small_screens/top_bottom_components', [
58
- 'default top component',
59
- 'default bottom component',
60
- ]);
57
+ itChecksScreenshots(browserContext, '09_chessboard_small_screens/top_bottom_components', [
58
+ 'default top component',
59
+ 'default bottom component',
60
+ ]);
61
61
 
62
- function itCheckScreenshotWithReducedWidth(itemIndex, label) {
63
- itCustom(browserContext, '09_chessboard_small_screens/top_bottom_components', itemIndex, label, async element => {
64
- await setWindowWidth(browserContext, 700);
65
- await takeScreenshot(browserContext, label, element);
66
- await compareScreenshot(browserContext, label);
67
- });
68
- }
62
+ function itCheckScreenshotWithReducedWidth(itemIndex, label) {
63
+ itCustom(browserContext, '09_chessboard_small_screens/top_bottom_components', itemIndex, label, async element => {
64
+ await setWindowWidth(browserContext, 700);
65
+ await takeScreenshot(browserContext, label, element);
66
+ await compareScreenshot(browserContext, label);
67
+ });
68
+ }
69
69
 
70
- itCheckScreenshotWithReducedWidth(0, 'reduced top component');
71
- itCheckScreenshotWithReducedWidth(1, 'reduced bottom component');
70
+ itCheckScreenshotWithReducedWidth(0, 'reduced top component');
71
+ itCheckScreenshotWithReducedWidth(1, 'reduced bottom component');
72
72
 
73
73
  });
@@ -27,41 +27,41 @@ const { describeWithBrowser, itChecksScreenshots } = require('./common/graphic')
27
27
 
28
28
  describeWithBrowser('Movetext graphic', browserContext => {
29
29
 
30
- itChecksScreenshots(browserContext, '10_movetext_graphic/base', [
31
- 'game 1',
32
- 'game 2',
33
- 'game 3',
34
- 'game 4',
35
- ]);
30
+ itChecksScreenshots(browserContext, '10_movetext_graphic/base', [
31
+ 'game 1',
32
+ 'game 2',
33
+ 'game 3',
34
+ 'game 4',
35
+ ]);
36
36
 
37
- itChecksScreenshots(browserContext, '10_movetext_graphic/error', [
38
- 'wrong game index 1',
39
- 'wrong game index 2',
40
- 'pgn parsing error 1',
41
- 'pgn parsing error 2',
42
- 'wrong game type',
43
- 'wrong game index type',
44
- ]);
37
+ itChecksScreenshots(browserContext, '10_movetext_graphic/error', [
38
+ 'wrong game index 1',
39
+ 'wrong game index 2',
40
+ 'pgn parsing error 1',
41
+ 'pgn parsing error 2',
42
+ 'wrong game type',
43
+ 'wrong game index type',
44
+ ]);
45
45
 
46
- itChecksScreenshots(browserContext, '10_movetext_graphic/html', [
47
- 'html in headers',
48
- 'html in comments',
49
- 'filtered tags and attributes',
50
- ]);
46
+ itChecksScreenshots(browserContext, '10_movetext_graphic/html', [
47
+ 'html in headers',
48
+ 'html in comments',
49
+ 'filtered tags and attributes',
50
+ ]);
51
51
 
52
- itChecksScreenshots(browserContext, '10_movetext_graphic/options', [
53
- 'localized piece symbols',
54
- 'custom piece symbols',
55
- 'figurine piece symbols and diagram options',
56
- 'other diagram options',
57
- 'hidden diagrams',
58
- 'wrong diagram options 1',
59
- 'wrong diagram options 2',
60
- 'wrong piece symbol value',
61
- ]);
52
+ itChecksScreenshots(browserContext, '10_movetext_graphic/options', [
53
+ 'localized piece symbols',
54
+ 'custom piece symbols',
55
+ 'figurine piece symbols and diagram options',
56
+ 'other diagram options',
57
+ 'hidden diagrams',
58
+ 'wrong diagram options 1',
59
+ 'wrong diagram options 2',
60
+ 'wrong piece symbol value',
61
+ ]);
62
62
 
63
- itChecksScreenshots(browserContext, '10_movetext_graphic/format_move', [
64
- 'format text',
65
- ]);
63
+ itChecksScreenshots(browserContext, '10_movetext_graphic/format_move', [
64
+ 'format text',
65
+ ]);
66
66
 
67
67
  });