mirror of
https://github.com/penpot/penpot.git
synced 2026-11-05 09:30:38 +00:00
A coverage run found sync paths that no test ran. New cases, in both runners: - AK: update main into a grid main. With a swapped child the main's cells keep the copy child's id (F49, pinned). - AL: update main after renaming the copy root and its child. - AM: update main of a swap inside a group. The copy child keeps a swap slot that names a removed main child (F16, pinned). - AN: a copy flex child's margin override through a main edit, a reset and update main. The frontend round trip of the main edit shows F43 with real sizes (pinned). - AO: a copy dropped into a grid cell of a main. Its undo shows F41 (pinned). - AP: a library main deletes a middle child. - AQ: a main change reaches a copy nested in a sub-board. Also: the frontend interpreter sends the real reset event instead of installing a file; a test undoes and redoes an undo entry without a group, which only release builds store; a test confirms F50, a copy text touched only in :content-group losing its override (pinned).
140 lines
6.5 KiB
Clojure
140 lines
6.5 KiB
Clojure
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
;;
|
|
;; Copyright (c) KALEIDOS SUBSIDIARY SL
|
|
|
|
(ns frontend-tests.composable-tests.comp.sync-test
|
|
"Runs the shared composable component cases
|
|
(`app.common.test-helpers.composable.comp.cases`) through the frontend
|
|
interpreter, where the app's component watcher syncs the copies."
|
|
(:require
|
|
[app.common.test-helpers.composable.comp.cases :as cases]
|
|
[cljs.test :as t :include-macros true]
|
|
[frontend-tests.composable-tests.interpreter :as ftm]))
|
|
|
|
(t/use-fixtures :each ftm/fixture)
|
|
|
|
(t/deftest case-b-copy-override-survives-later-main-change
|
|
(t/async done (ftm/check done (cases/copy-override-survives-later-main-change))))
|
|
|
|
(t/deftest case-c-attribute-sweep-auto-propagates-to-clean-copy
|
|
(t/async done (ftm/check done (cases/attribute-sweep-propagates-to-clean-copy))))
|
|
|
|
(t/deftest case-d-add-shape-to-main-auto-propagates-to-clean-copy
|
|
(t/async done (ftm/check done (cases/add-shape-to-main-propagates-to-clean-copy))))
|
|
|
|
(t/deftest case-e-remove-shape-from-main-auto-propagates-to-clean-copy
|
|
(t/async done (ftm/check done (cases/remove-shape-from-main-propagates-to-clean-copy))))
|
|
|
|
(t/deftest case-f-move-shape-in-main-auto-propagates-order-to-clean-copy
|
|
(t/async done (ftm/check done (cases/move-shape-in-main-propagates-order-to-clean-copy))))
|
|
|
|
(t/deftest case-i-undo-reverts-edit-and-its-auto-propagation
|
|
(t/async done (ftm/check done (cases/undo-reverts-edit-and-its-propagation))))
|
|
|
|
(t/deftest case-p-redo-reapplies-edit-and-its-auto-propagation
|
|
(t/async done (ftm/check done (cases/redo-reapplies-edit-and-its-propagation))))
|
|
|
|
(t/deftest case-h-library-change-propagates-across-file-boundary-on-sync
|
|
(t/async done (ftm/check done (cases/library-change-propagates-across-file-boundary-on-sync))))
|
|
|
|
(t/deftest case-k-synchronisation-scenarios
|
|
(t/async done (ftm/check done (cases/synchronisation-scenarios))))
|
|
|
|
(t/deftest case-l-swap-scenarios
|
|
(t/async done (ftm/check done (cases/swap-scenarios))))
|
|
|
|
(t/deftest case-m-variant-switch-scenarios
|
|
(t/async done (ftm/check done (cases/variant-switch-scenarios))))
|
|
|
|
(t/deftest case-o-variant-switch-keeps-override-only-where-mains-agree
|
|
(t/async done (ftm/check done (cases/variant-switch-keeps-override-only-where-mains-agree))))
|
|
|
|
(t/deftest case-q-detach-keeps-nested-copies-linked
|
|
(t/async done (ftm/check done (cases/detach-keeps-nested-copies-linked))))
|
|
|
|
(t/deftest case-r-update-main-reaches-other-copies
|
|
(t/async done (ftm/check done (cases/update-main-reaches-other-copies))))
|
|
|
|
(t/deftest case-s-deleted-component-copies-sync-again-after-restore
|
|
(t/async done (ftm/check done (cases/deleted-component-copies-sync-again-after-restore))))
|
|
|
|
(t/deftest case-t-duplicated-copy-keeps-overrides-and-link
|
|
(t/async done (ftm/check done (cases/duplicated-copy-keeps-overrides-and-link))))
|
|
|
|
(t/deftest case-u-nested-copy-reaches-copies-of-the-receiving-main
|
|
(t/async done (ftm/check done (cases/nested-copy-reaches-copies-of-the-receiving-main))))
|
|
|
|
(t/deftest case-v-new-edit-after-undo-clears-redo
|
|
(t/async done (ftm/check done (cases/new-edit-after-undo-clears-redo))))
|
|
|
|
(t/deftest case-w-undo-several-steps-over-nested-cascades
|
|
(t/async done (ftm/check done (cases/undo-several-steps-over-nested-cascades))))
|
|
|
|
(t/deftest case-x-undo-before-sync-leaves-copies-unchanged
|
|
(t/async done (ftm/check done (cases/undo-before-sync-leaves-copies-unchanged))))
|
|
|
|
(t/deftest case-aj-reflow-after-nested-sync-is-its-own-undo-step
|
|
(t/async done (ftm/check done (cases/reflow-after-nested-sync-is-its-own-undo-step))))
|
|
|
|
(t/deftest case-y-text-override-merges-with-main-text-change
|
|
(t/async done (ftm/check done (cases/text-override-merges-with-main-text-change))))
|
|
|
|
(t/deftest case-n-geometry-sync-with-rotated-instances
|
|
(t/async done (ftm/check done (cases/geometry-sync-with-rotated-instances))))
|
|
|
|
(t/deftest case-touched-copy-child-survives-main-rotation
|
|
(t/async done (ftm/check done (cases/touched-copy-child-survives-main-rotation))))
|
|
|
|
(t/deftest case-z-main-child-move-reaches-copies
|
|
(t/async done (ftm/check done (cases/main-child-move-reaches-copies))))
|
|
|
|
(t/deftest case-aa-copy-swap-survives-main-changes
|
|
(t/async done (ftm/check done (cases/copy-swap-survives-main-changes))))
|
|
|
|
(t/deftest case-ab-reset-of-nested-swap-keeps-top-copy-overrides
|
|
(t/async done (ftm/check done (cases/reset-of-nested-swap-keeps-top-copy-overrides))))
|
|
|
|
(t/deftest case-ac-second-variant-switch-keeps-root-overrides
|
|
(t/async done (ftm/check done (cases/second-variant-switch-keeps-root-overrides))))
|
|
|
|
(t/deftest case-ad-update-main-pushes-a-swapped-child
|
|
(t/async done (ftm/check done (cases/update-main-pushes-a-swapped-child))))
|
|
|
|
(t/deftest case-ae-detached-or-duplicated-swapped-copy-follows-its-component
|
|
(t/async done (ftm/check done (cases/detached-or-duplicated-swapped-copy-follows-its-component))))
|
|
|
|
(t/deftest case-af-grid-cell-move-reaches-a-swapped-copy-child
|
|
(t/async done (ftm/check done (cases/grid-cell-move-reaches-a-swapped-copy-child))))
|
|
|
|
(t/deftest case-ag-main-reorder-keeps-copy-sub-heads-aligned
|
|
(t/async done (ftm/check done (cases/main-reorder-keeps-copy-sub-heads-aligned))))
|
|
|
|
(t/deftest case-ah-copy-sub-head-delete-keeps-others-aligned
|
|
(t/async done (ftm/check done (cases/copy-sub-head-delete-keeps-others-aligned))))
|
|
|
|
(t/deftest case-ai-copy-sub-head-delete-and-reflow-keeps-others-aligned
|
|
(t/async done (ftm/check done (cases/copy-sub-head-delete-and-reflow-keeps-others-aligned))))
|
|
|
|
(t/deftest case-ak-update-main-pushes-grid-cells
|
|
(t/async done (ftm/check done (cases/update-main-pushes-grid-cells))))
|
|
|
|
(t/deftest case-al-update-main-renames-the-component
|
|
(t/async done (ftm/check done (cases/update-main-renames-the-component))))
|
|
|
|
(t/deftest case-am-update-main-pushes-a-swap-inside-a-group
|
|
(t/async done (ftm/check done (cases/update-main-pushes-a-swap-inside-a-group))))
|
|
|
|
(t/deftest case-an-flex-child-override-follows-sync-reset-and-update-main
|
|
(t/async done (ftm/check done (cases/flex-child-override-follows-sync-reset-and-update-main))))
|
|
|
|
(t/deftest case-ao-copy-dropped-into-a-grid-cell-reaches-copies
|
|
(t/async done (ftm/check done (cases/copy-dropped-into-a-grid-cell-reaches-copies))))
|
|
|
|
(t/deftest case-ap-library-main-child-removal-reaches-copy
|
|
(t/async done (ftm/check done (cases/library-main-child-removal-reaches-copy))))
|
|
|
|
(t/deftest case-aq-main-change-reaches-a-copy-nested-in-a-sub-board
|
|
(t/async done (ftm/check done (cases/main-change-reaches-a-copy-nested-in-a-sub-board))))
|