mirror of
https://github.com/penpot/penpot.git
synced 2025-08-03 05:58:33 +02:00
✨ Implement drag & drop for set groups
🚧 PR feedback ♻️ Remove unused functions ♻️ Throw on non-allowed changes 🚧 key fixes 🚧 Fix tests 🚧 FMT 🚧 Add set group test 🚧 Remove 'drop' in name 🚧 Add group tests 🚧 FMT 🚧 Always return changes
This commit is contained in:
parent
32f0da7514
commit
19daffd1c0
22 changed files with 1015 additions and 346 deletions
|
@ -60,7 +60,7 @@
|
|||
(ctob/add-theme (ctob/make-hidden-token-theme))
|
||||
(ctob/set-active-themes #{ctob/hidden-token-theme-path})))
|
||||
|
||||
changes (clt/generate-toggle-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file) "G-foo/S-bar")
|
||||
changes (clt/generate-toggle-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file) ["foo"])
|
||||
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-lib (tht/get-tokens-lib redo)
|
||||
|
@ -81,7 +81,7 @@
|
|||
(ctob/add-set (ctob/make-token-set :name "foo/bar/baz/baz-child"))
|
||||
(ctob/add-theme (ctob/make-token-theme :name "theme"))
|
||||
(ctob/set-active-themes #{"/theme"})))
|
||||
changes (clt/generate-toggle-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file) "G-foo/G-bar")
|
||||
changes (clt/generate-toggle-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file) ["foo" "bar"])
|
||||
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-lib (tht/get-tokens-lib redo)
|
||||
|
@ -103,7 +103,7 @@
|
|||
:sets #{"foo/bar/baz"}))
|
||||
(ctob/set-active-themes #{"/theme"})))
|
||||
|
||||
changes (clt/generate-toggle-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file) "G-foo/G-bar")
|
||||
changes (clt/generate-toggle-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file) ["foo" "bar"])
|
||||
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-lib (tht/get-tokens-lib redo)
|
||||
|
@ -115,3 +115,242 @@
|
|||
;; Undo
|
||||
(t/is (nil? (ctob/get-hidden-theme undo-lib)))
|
||||
(t/is (= #{"/theme"} (ctob/get-active-theme-paths undo-lib))))))
|
||||
|
||||
(t/deftest generate-move-token-set-test
|
||||
(t/testing "Ignore dropping set to the same position:"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar/baz"))))
|
||||
drop (partial clt/generate-move-token-set (pcb/empty-changes) (tht/get-tokens-lib file))]
|
||||
(t/testing "on top of identical"
|
||||
(t/is (= (pcb/empty-changes)
|
||||
(drop {:from-index 0
|
||||
:to-index 0
|
||||
:position :top}))))
|
||||
(t/testing "on bottom of identical"
|
||||
(t/is (= (pcb/empty-changes)
|
||||
(drop {:from-index 0
|
||||
:to-index 0
|
||||
:position :bot}))))
|
||||
(t/testing "on top of next to identical"
|
||||
(t/is (= (pcb/empty-changes)
|
||||
(drop {:from-index 0
|
||||
:to-index 1
|
||||
:position :top}))))))
|
||||
|
||||
(t/testing "Reorder sets when dropping next to a set:"
|
||||
(t/testing "at top"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar"))
|
||||
(ctob/add-set (ctob/make-token-set :name "baz"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 1
|
||||
:to-index 0
|
||||
:position :top})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["bar" "foo" "baz"] (vec redo-sets)))
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets)))))
|
||||
|
||||
(t/testing "at bottom"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar"))
|
||||
(ctob/add-set (ctob/make-token-set :name "baz"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 0
|
||||
:to-index 2
|
||||
:position :bot})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["bar" "baz" "foo"] (vec redo-sets)))
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets)))))
|
||||
|
||||
(t/testing "dropping out of set group"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/bar"))
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 1
|
||||
:to-index 0
|
||||
:position :top})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["bar" "foo"] (vec redo-sets)))
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets)))))
|
||||
|
||||
(t/testing "into set group"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/bar"))
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 2
|
||||
:to-index 1
|
||||
:position :bot})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["foo/bar" "foo/foo"] (vec redo-sets)))
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets)))))
|
||||
|
||||
(t/testing "edge-cases:"
|
||||
(t/testing "prevent overriding set to identical path"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))))
|
||||
lib (tht/get-tokens-lib file)]
|
||||
(t/is (thrown?
|
||||
#?(:cljs js/Error :clj Exception)
|
||||
(clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 2
|
||||
:to-index 0
|
||||
:position :bot})
|
||||
#"move token set error: path exists"))
|
||||
(t/is (thrown?
|
||||
#?(:cljs js/Error :clj Exception)
|
||||
(clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 2
|
||||
:to-index 1
|
||||
:position :bot})
|
||||
#"move token set error: path exists"))))
|
||||
|
||||
(t/testing "dropping below collapsed group doesnt add as child"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/bar"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set (pcb/empty-changes) lib {:from-index 0
|
||||
:to-index 1
|
||||
:position :bot
|
||||
:collapsed-paths #{["foo"]}})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["foo/bar" "foo"] (vec redo-sets)))
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets))))))))
|
||||
|
||||
(t/deftest generate-move-token-group-test
|
||||
(t/testing "Ignore dropping set group to the same position"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar/baz"))))
|
||||
drop (partial clt/generate-move-token-set-group (pcb/empty-changes) (tht/get-tokens-lib file))]
|
||||
(t/testing "on top of identical"
|
||||
(t/is (= (pcb/empty-changes)
|
||||
(drop {:from-index 1
|
||||
:to-index 1
|
||||
:position :top}))))
|
||||
(t/testing "on bottom of identical"
|
||||
(t/is (= (pcb/empty-changes)
|
||||
(drop {:from-index 1
|
||||
:to-index 1
|
||||
:position :bot}))))
|
||||
(t/testing "on top of next to identical"
|
||||
(t/is (= (pcb/empty-changes)
|
||||
(drop {:from-index 1
|
||||
:to-index 1
|
||||
:position :top}))))))
|
||||
|
||||
(t/testing "Move set groups"
|
||||
(t/testing "to top"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar/bar"))
|
||||
(ctob/add-set (ctob/make-token-set :name "baz/baz"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set-group (pcb/empty-changes) lib {:from-index 2
|
||||
:to-index 0
|
||||
:position :top})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["bar/bar" "foo/foo" "baz/baz"] (vec redo-sets)))
|
||||
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets)))))
|
||||
|
||||
(t/testing "to bottom"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set-group (pcb/empty-changes) lib {:from-index 0
|
||||
:to-index 2
|
||||
:position :bot})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["bar" "foo/foo"] (vec redo-sets)))
|
||||
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets)))))
|
||||
|
||||
(t/testing "into set group"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "bar/bar"))))
|
||||
lib (tht/get-tokens-lib file)
|
||||
changes (clt/generate-move-token-set-group (pcb/empty-changes) lib {:from-index 0
|
||||
:to-index 2
|
||||
:position :bot})
|
||||
redo (thf/apply-changes file changes)
|
||||
redo-sets (-> (tht/get-tokens-lib redo)
|
||||
(ctob/get-ordered-set-names))
|
||||
undo (thf/apply-undo-changes redo changes)
|
||||
undo-sets (-> (tht/get-tokens-lib undo)
|
||||
(ctob/get-ordered-set-names))]
|
||||
(t/is (= ["bar/foo/foo" "bar/bar"] (vec redo-sets)))
|
||||
(t/testing "undo"
|
||||
(t/is (= (ctob/get-ordered-set-names lib) undo-sets))))
|
||||
|
||||
(t/testing "edge-cases:"
|
||||
(t/testing "prevent overriding set to identical path"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/identical/foo"))
|
||||
(ctob/add-set (ctob/make-token-set :name "identical/bar"))))
|
||||
lib (tht/get-tokens-lib file)]
|
||||
(t/is (thrown?
|
||||
#?(:cljs js/Error :clj Exception)
|
||||
(clt/generate-move-token-set-group (pcb/empty-changes) lib {:from-index 3
|
||||
:to-index 1
|
||||
:position :top})
|
||||
#"move token set error: path exists"))))
|
||||
|
||||
(t/testing "prevent dropping parent to child"
|
||||
(let [file (setup-file #(-> %
|
||||
(ctob/add-set (ctob/make-token-set :name "foo/bar/baz"))))
|
||||
lib (tht/get-tokens-lib file)]
|
||||
(t/is (thrown?
|
||||
#?(:cljs js/Error :clj Exception)
|
||||
(clt/generate-move-token-set-group (pcb/empty-changes) lib {:from-index 0
|
||||
:to-index 1
|
||||
:position :bot})
|
||||
#"move token set error: parent-to-child"))))))))
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
[common-tests.logic.multiple-nesting-levels-test]
|
||||
[common-tests.logic.swap-and-reset-test]
|
||||
[common-tests.logic.swap-as-override-test]
|
||||
[common-tests.logic.token-test]
|
||||
[common-tests.pages-helpers-test]
|
||||
[common-tests.record-test]
|
||||
[common-tests.schema-test]
|
||||
|
@ -75,6 +76,7 @@
|
|||
'common-tests.logic.multiple-nesting-levels-test
|
||||
'common-tests.logic.swap-and-reset-test
|
||||
'common-tests.logic.swap-as-override-test
|
||||
'common-tests.logic.token-test
|
||||
'common-tests.pages-helpers-test
|
||||
'common-tests.record-test
|
||||
'common-tests.schema-test
|
||||
|
|
|
@ -91,28 +91,75 @@
|
|||
(apply ctob/make-token-set args)))))
|
||||
|
||||
(t/testing "move-token-set"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
(ctob/add-set (ctob/make-token-set :name "A"))
|
||||
(ctob/add-set (ctob/make-token-set :name "B"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Move")))
|
||||
original-order (into [] (ctob/get-ordered-set-names tokens-lib))
|
||||
move (fn [set-name before-set-name]
|
||||
(->> (ctob/move-set-before tokens-lib set-name before-set-name)
|
||||
(ctob/get-ordered-set-names)
|
||||
(into [])))]
|
||||
(t/testing "regular moving"
|
||||
(t/is (= ["A" "Move" "B"] (move "Move" "B")))
|
||||
(t/is (= ["B" "A" "Move"] (move "A" "Move"))))
|
||||
(t/testing "flat"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
(ctob/add-set (ctob/make-token-set :name "A"))
|
||||
(ctob/add-set (ctob/make-token-set :name "B"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Move")))
|
||||
move (fn [from-path to-path before-path before-group?]
|
||||
(->> (ctob/move-set tokens-lib from-path to-path before-path before-group?)
|
||||
(ctob/get-ordered-set-names)
|
||||
(into [])))]
|
||||
(t/testing "move to top"
|
||||
(t/is (= ["Move" "A" "B"] (move ["Move"] ["Move"] ["A"] false))))
|
||||
|
||||
(t/testing "move to bottom"
|
||||
(t/is (= ["B" "Move" "A"] (move "A" nil))))
|
||||
(t/testing "move in-between"
|
||||
(t/is (= ["A" "Move" "B"] (move ["Move"] ["Move"] ["B"] false))))
|
||||
|
||||
(t/testing "no move expected"
|
||||
(t/is (= original-order (move "Move" "Move"))))
|
||||
(t/testing "move to bottom"
|
||||
(t/is (= ["A" "B" "Move"] (move ["Move"] ["Move"] nil false))))))
|
||||
|
||||
(t/testing "ignore invalid moves"
|
||||
(t/is (= original-order (move "A" "foo/bar/baz")))
|
||||
(t/is (= original-order (move "Missing" "Move"))))))
|
||||
(t/testing "nested"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/Baz"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/Bar"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo")))
|
||||
move (fn [from-path to-path before-path before-group?]
|
||||
(->> (ctob/move-set tokens-lib from-path to-path before-path before-group?)
|
||||
(ctob/get-ordered-set-names)
|
||||
(into [])))]
|
||||
(t/testing "move outside of group"
|
||||
(t/is (= ["Foo/Baz" "Bar" "Foo"] (move ["Foo" "Bar"] ["Bar"] ["Foo"] false)))
|
||||
(t/is (= ["Bar" "Foo/Baz" "Foo"] (move ["Foo" "Bar"] ["Bar"] ["Foo" "Baz"] true)))
|
||||
(t/is (= ["Foo/Baz" "Foo" "Bar"] (move ["Foo" "Bar"] ["Bar"] nil false))))
|
||||
|
||||
(t/testing "move inside of group"
|
||||
(t/is (= ["Foo/Foo" "Foo/Baz" "Foo/Bar"] (move ["Foo"] ["Foo" "Foo"] ["Foo" "Baz"] false)))
|
||||
(t/is (= ["Foo/Baz" "Foo/Bar" "Foo/Foo"] (move ["Foo"] ["Foo" "Foo"] nil false))))))
|
||||
|
||||
(t/testing "updates theme set names"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/Bar/Baz"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Other"))
|
||||
(ctob/add-theme (ctob/make-token-theme :name "Theme"
|
||||
:sets #{"Foo/Bar/Baz"}))
|
||||
(ctob/move-set ["Foo" "Bar" "Baz"] ["Other/Baz"] nil nil))]
|
||||
(t/is (= #{"Other/Baz"} (:sets (ctob/get-theme tokens-lib "" "Theme")))))))
|
||||
|
||||
(t/testing "move-token-set-group"
|
||||
(t/testing "reordering"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/A"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/B"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Bar/Foo"))
|
||||
(ctob/add-theme (ctob/make-token-theme :name "Theme"
|
||||
:sets #{"Foo/A" "Bar/Foo"})))
|
||||
move (fn [from-path to-path before-path before-group?]
|
||||
(->> (ctob/move-set-group tokens-lib from-path to-path before-path before-group?)
|
||||
(ctob/get-ordered-set-names)
|
||||
(into [])))]
|
||||
(t/is (= ["Bar/Foo" "Bar/Foo/A" "Bar/Foo/B"] (move ["Foo"] ["Bar" "Foo"] nil nil)))
|
||||
(t/is (= ["Bar/Foo" "Foo/A" "Foo/B"] (move ["Bar"] ["Bar"] ["Foo"] true)))))
|
||||
|
||||
(t/testing "updates theme set names"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/A"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Foo/B"))
|
||||
(ctob/add-set (ctob/make-token-set :name "Bar/Foo"))
|
||||
(ctob/add-theme (ctob/make-token-theme :name "Theme"
|
||||
:sets #{"Foo/A" "Bar/Foo"}))
|
||||
(ctob/move-set-group ["Foo"] ["Bar" "Foo"] nil nil))]
|
||||
(t/is (= #{"Bar/Foo/A" "Bar/Foo"} (:sets (ctob/get-theme tokens-lib "" "Theme")))))))
|
||||
|
||||
(t/testing "tokens-tree"
|
||||
(let [tokens-lib (-> (ctob/make-tokens-lib)
|
||||
|
@ -237,8 +284,8 @@
|
|||
(ctob/add-set (ctob/make-token-set :name "foo/bar/baz/baz-child-2"))
|
||||
(ctob/add-theme (ctob/make-token-theme :name "theme" :sets #{"foo/bar/baz/baz-child-1"})))
|
||||
tokens-lib' (-> tokens-lib
|
||||
(ctob/rename-set-group "foo/bar" "foo/bar-renamed")
|
||||
(ctob/rename-set-group "foo/bar-renamed/baz" "foo/bar-renamed/baz-renamed"))
|
||||
(ctob/rename-set-group ["foo" "bar"] "bar-renamed")
|
||||
(ctob/rename-set-group ["foo" "bar-renamed" "baz"] "baz-renamed"))
|
||||
expected-set-names (ctob/get-ordered-set-names tokens-lib')
|
||||
expected-theme-sets (-> (ctob/get-theme tokens-lib' "" "theme")
|
||||
:sets)]
|
||||
|
@ -436,16 +483,16 @@
|
|||
|
||||
expected-none (-> tokens-lib
|
||||
(ctob/set-active-themes #{"/none"})
|
||||
(ctob/sets-at-path-all-active? "G-foo"))
|
||||
(ctob/sets-at-path-all-active? ["foo"]))
|
||||
expected-all (-> tokens-lib
|
||||
(ctob/set-active-themes #{"/all"})
|
||||
(ctob/sets-at-path-all-active? "G-foo"))
|
||||
(ctob/sets-at-path-all-active? ["foo"]))
|
||||
expected-partial (-> tokens-lib
|
||||
(ctob/set-active-themes #{"/partial"})
|
||||
(ctob/sets-at-path-all-active? "G-foo"))
|
||||
(ctob/sets-at-path-all-active? ["foo"]))
|
||||
expected-invalid-none (-> tokens-lib
|
||||
(ctob/set-active-themes #{"/invalid"})
|
||||
(ctob/sets-at-path-all-active? "G-foo"))]
|
||||
(ctob/sets-at-path-all-active? ["foo"]))]
|
||||
(t/is (= :none expected-none))
|
||||
(t/is (= :all expected-all))
|
||||
(t/is (= :partial expected-partial))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue