Skip to content

Commit 08fc5ee

Browse files
committed
add frame tests and remove unused subscription
1 parent 912d5a3 commit 08fc5ee

File tree

3 files changed

+64
-12
lines changed

3 files changed

+64
-12
lines changed

src/renderer/frame/subs.cljs

+1-10
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
[re-frame.core :as rf]
55
[renderer.app.subs :as-alias app.s]
66
[renderer.document.subs :as-alias document.s]
7-
[renderer.frame.handlers :as h]
8-
[renderer.utils.pointer :as pointer]))
7+
[renderer.frame.handlers :as h]))
98

109
(rf/reg-sub
1110
::viewbox
@@ -20,11 +19,3 @@
2019
:<- [::viewbox]
2120
(fn [viewbox _]
2221
(str/join " " viewbox)))
23-
24-
(rf/reg-sub
25-
::adjusted-pointer-pos
26-
:<- [::document.s/zoom]
27-
:<- [::document.s/pan]
28-
:<- [::app.s/pointer-pos]
29-
(fn [[zoom pan pointer-pos] _]
30-
(pointer/adjust-position zoom pan pointer-pos)))

src/renderer/toolbar/status.cljs

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
[renderer.color.views :as color.v]
88
[renderer.document.subs :as-alias document.s]
99
[renderer.frame.events :as-alias frame.e]
10-
[renderer.frame.subs :as-alias frame.s]
1110
[renderer.ruler.events :as-alias ruler.e]
1211
[renderer.ruler.subs :as-alias ruler.s]
1312
[renderer.snap.views :as snap.v]
@@ -18,7 +17,7 @@
1817
[renderer.worker.subs :as-alias worker.s]))
1918

2019
(defn coordinates []
21-
(let [[x y] @(rf/subscribe [::frame.s/adjusted-pointer-pos])]
20+
(let [[x y] @(rf/subscribe [::app.s/adjusted-pointer-pos])]
2221
[:div.flex-col.font-mono.leading-tight.hidden.xl:flex
2322
{:style {:min-width "90px"}}
2423
[:div.flex.justify-between

test/frame_test.cljs

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
(ns frame-test
2+
(:require
3+
[cljs.test :refer-macros [deftest is testing]]
4+
[day8.re-frame.test :as rf-test]
5+
[re-frame.core :as rf]
6+
[renderer.app.events :as app.e]
7+
[renderer.document.events :as document.e]
8+
[renderer.document.subs :as document.s]
9+
[renderer.element.events :as element.e]
10+
[renderer.frame.events :as e]
11+
[renderer.frame.subs :as s]))
12+
13+
(deftest frame
14+
(rf-test/run-test-sync
15+
(rf/dispatch [::app.e/initialize-db])
16+
(rf/dispatch [::document.e/init])
17+
18+
(testing "resize"
19+
(let [viewbox (rf/subscribe [::s/viewbox])]
20+
(rf/dispatch [::e/resize {:x 252
21+
:y 139
22+
:width 1946
23+
:height 945
24+
:top 139
25+
:right 2198
26+
:bottom 1084
27+
:left 252}])
28+
29+
(is (= @viewbox [0 0 1946 945]))
30+
(is (= @(rf/subscribe [::s/viewbox-attr]) "0 0 1946 945")))
31+
32+
(testing "zoom"
33+
(let [zoom (rf/subscribe [::document.s/zoom])]
34+
(is (= @zoom 1))
35+
36+
(rf/dispatch [::e/zoom-in])
37+
(is (> @zoom 1))
38+
39+
(rf/dispatch [::e/zoom-out])
40+
(is (= @zoom 1))
41+
42+
(rf/dispatch [::e/zoom-out])
43+
(is (< @zoom 1))
44+
45+
(rf/dispatch [::e/set-zoom 1])
46+
(is (= @zoom 1))))
47+
48+
(testing "focus"
49+
(let [viewbox (rf/subscribe [::s/viewbox])
50+
zoom (rf/subscribe [::document.s/zoom])
51+
pan (rf/subscribe [::document.s/pan])]
52+
(is (= @zoom 1))
53+
54+
(rf/dispatch [::element.e/select-all])
55+
56+
(rf/dispatch [::e/focus-selection :original])
57+
(is (= @viewbox [-675.5 -51.5 1946 945]))
58+
(is (= @zoom 1))
59+
(is (= @pan [-675.5 -51.5]))
60+
61+
(rf/dispatch [::e/focus-selection :fit])
62+
(is (> @zoom 1)))))))

0 commit comments

Comments
 (0)