mirror of
https://github.com/penpot/penpot.git
synced 2025-01-21 14:12:36 -05:00
Add opacity tests
This commit is contained in:
parent
62a9dd6582
commit
6cb3afe87f
1 changed files with 46 additions and 21 deletions
|
@ -165,27 +165,52 @@
|
||||||
(t/deftest test-apply-opacity
|
(t/deftest test-apply-opacity
|
||||||
(t/testing "applies opacity token and updates the shapes opacity"
|
(t/testing "applies opacity token and updates the shapes opacity"
|
||||||
(t/async
|
(t/async
|
||||||
done
|
done
|
||||||
(let [file (-> (setup-file)
|
(let [file (-> (setup-file)
|
||||||
(toht/add-token :token-target {:value "0.5"
|
(toht/add-token :opacity-float {:value "0.3"
|
||||||
:name "opacity.medium"
|
:name "opacity.float"
|
||||||
:type :opacity}))
|
:type :opacity})
|
||||||
store (ths/setup-store file)
|
(toht/add-token :opacity-percent {:value "40%"
|
||||||
rect-1 (cths/get-shape file :rect-1)
|
:name "opacity.percent"
|
||||||
events [(wtch/apply-token {:shape-ids [(:id rect-1)]
|
:type :opacity})
|
||||||
:attributes #{:opacity}
|
(toht/add-token :opacity-invalid {:value "100"
|
||||||
:token (toht/get-token file :token-target)
|
:name "opacity.invalid"
|
||||||
:on-update-shape wtch/update-opacity})]]
|
:type :opacity}))
|
||||||
(tohs/run-store-async
|
store (ths/setup-store file)
|
||||||
store done events
|
rect-1 (cths/get-shape file :rect-1)
|
||||||
(fn [new-state]
|
rect-2 (cths/get-shape file :rect-2)
|
||||||
(let [file' (ths/get-file-from-store new-state)
|
rect-3 (cths/get-shape file :rect-3)
|
||||||
token-target' (toht/get-token file' :token-target)
|
events [(wtch/apply-token {:shape-ids [(:id rect-1)]
|
||||||
rect-1' (cths/get-shape file' :rect-1)]
|
:attributes #{:opacity}
|
||||||
(t/is (some? (:applied-tokens rect-1')))
|
:token (toht/get-token file :opacity-float)
|
||||||
(t/is (= (:opacity (:applied-tokens rect-1')) (:id token-target')))
|
:on-update-shape wtch/update-opacity})
|
||||||
;; TODO Fix opacity shape update not working?
|
(wtch/apply-token {:shape-ids [(:id rect-2)]
|
||||||
#_(t/is (= (:opacity rect-1') 0.5)))))))))
|
:attributes #{:opacity}
|
||||||
|
:token (toht/get-token file :opacity-percent)
|
||||||
|
:on-update-shape wtch/update-opacity})
|
||||||
|
(wtch/apply-token {:shape-ids [(:id rect-3)]
|
||||||
|
:attributes #{:opacity}
|
||||||
|
:token (toht/get-token file :opacity-invalid)
|
||||||
|
:on-update-shape wtch/update-opacity})]]
|
||||||
|
(tohs/run-store-async
|
||||||
|
store done events
|
||||||
|
(fn [new-state]
|
||||||
|
(let [file' (ths/get-file-from-store new-state)
|
||||||
|
rect-1' (cths/get-shape file' :rect-1)
|
||||||
|
rect-2' (cths/get-shape file' :rect-2)
|
||||||
|
rect-3' (cths/get-shape file' :rect-3)
|
||||||
|
token-opacity-float (toht/get-token file' :opacity-float)
|
||||||
|
token-opacity-percent (toht/get-token file' :opacity-percent)
|
||||||
|
token-opacity-invalid (toht/get-token file' :opacity-invalid)]
|
||||||
|
(t/testing "float value got translated to float and applied to opacity"
|
||||||
|
(t/is (= (:opacity (:applied-tokens rect-1')) (:id token-opacity-float)))
|
||||||
|
(t/is (= (:opacity rect-1') 0.3)))
|
||||||
|
(t/testing "percentage value got translated to float and applied to opacity"
|
||||||
|
(t/is (= (:opacity (:applied-tokens rect-2')) (:id token-opacity-percent)))
|
||||||
|
(t/is (= (:opacity rect-2') 0.4)))
|
||||||
|
(t/testing "invalid opacity value got applied but did not change shape"
|
||||||
|
(t/is (= (:opacity (:applied-tokens rect-3')) (:id token-opacity-invalid)))
|
||||||
|
(t/is (nil? (:opacity rect-3')))))))))))
|
||||||
|
|
||||||
(t/deftest test-apply-rotation
|
(t/deftest test-apply-rotation
|
||||||
(t/testing "applies rotation token and updates the shapes rotation"
|
(t/testing "applies rotation token and updates the shapes rotation"
|
||||||
|
|
Loading…
Add table
Reference in a new issue