File tree 4 files changed +46
-4
lines changed
4 files changed +46
-4
lines changed Original file line number Diff line number Diff line change 632
632
(m/=> add [:-> App map? App])
633
633
(defn add
634
634
[db el]
635
- (create (deselect db) (assoc el :selected true )))
635
+ (-> (deselect db)
636
+ (create (assoc el :selected true ))))
636
637
637
638
(m/=> boolean-operation [:-> App PathBooleanOperation App])
638
639
(defn boolean-operation
Original file line number Diff line number Diff line change 13
13
(defmulti snapping-points (fn [db _e] (:tool db)))
14
14
(defmulti activate :tool )
15
15
(defmulti deactivate :tool )
16
- (defmulti render identity )
16
+ (defmulti render " Renders the tool helpers. " identity )
17
17
(defmulti properties " Returns the properties of the tool." identity )
18
18
(defmulti help " Returns the status bar help text." (fn [tool state] [tool state]))
19
19
Original file line number Diff line number Diff line change
1
+ (ns benchmark-test
2
+ (:require
3
+ [cljs.test :refer-macros [deftest is testing]]
4
+ [clojure.string :as str]
5
+ [day8.re-frame.test :as rf-test]
6
+ [re-frame.core :as rf]
7
+ [renderer.app.events :as app.e]
8
+ [renderer.document.events :as document.e]
9
+ [renderer.element.events :as element.e]))
10
+
11
+ (defn bench
12
+ " Returns the elapsed time of the event handling in milliseconds."
13
+ ([e]
14
+ (bench e 1 ))
15
+ ([e iterations]
16
+ (let [start (.getTime (js/Date. ))
17
+ _ (dotimes [_ iterations] (rf/dispatch e))
18
+ end (.getTime (js/Date. ))]
19
+ (- end start))))
20
+
21
+ (deftest test-pp-str
22
+ (rf-test/run-test-sync
23
+ (rf/dispatch [::app.e/initialize-db ])
24
+ (rf/dispatch [::document.e/init ])
25
+
26
+ (testing " creating elements"
27
+ (let [points (str/join " " (repeatedly 100 #(rand-int 1000 )))]
28
+ (is (> 1000 (bench [::element.e/add {:tag :polygon
29
+ :attrs {:points points}}] 20 )))))
30
+
31
+ (testing " selecting elements"
32
+ (is (> 100 (bench [::element.e/select-all ]))))
33
+
34
+ (testing " moving elements"
35
+ (is (> 100 (bench [::element.e/translate [100 100 ]]))))
36
+
37
+ (testing " scaling elements"
38
+ (is (> 100 (bench [::element.e/scale [100 100 ]]))))))
Original file line number Diff line number Diff line change 1
- (ns tool-tests
1
+ (ns tool-test
2
2
(:require
3
3
[cljs.test :refer-macros [deftest is]]
4
4
[day8.re-frame.test :as rf-test]
5
5
[re-frame.core :as rf]
6
6
[renderer.app.events :as app.e]
7
+ [renderer.document.events :as document.e]
7
8
[renderer.tool.events :as e]
9
+ [renderer.tool.impl.core]
8
10
[renderer.tool.subs :as s]))
9
11
10
12
(deftest init
15
17
16
18
(deftest activate
17
19
(rf-test/run-test-sync
18
- (rf/dispatch [::e/initialize-db ])
20
+ (rf/dispatch [::app.e/initialize-db ])
21
+ (rf/dispatch [::document.e/init ])
19
22
20
23
(let [active-tool (rf/subscribe [::s/active ])]
21
24
(is (= @active-tool :transform ))
You can’t perform that action at this time.
0 commit comments