0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-13 18:48:37 -05:00
penpot/frontend/test/token_tests/style_dictionary_test.cljs

42 lines
1.7 KiB
Text
Raw Normal View History

2024-08-15 10:03:25 +02:00
(ns token-tests.style-dictionary-test
(:require
[app.main.ui.workspace.tokens.style-dictionary :as sd]
[cljs.test :as t :include-macros true]
2024-08-21 14:42:39 +02:00
[promesa.core :as p]
2024-10-01 09:56:03 +02:00
[app.main.ui.workspace.tokens.token :as wtt]
[app.common.data :as d]))
2024-08-15 10:03:25 +02:00
(def border-radius-token
2024-10-01 09:56:03 +02:00
{:value "12px"
2024-08-15 10:03:25 +02:00
:name "borderRadius.sm"
:type :border-radius})
(def reference-border-radius-token
2024-10-01 09:56:03 +02:00
{:value "{borderRadius.sm} * 2"
2024-08-15 10:03:25 +02:00
:name "borderRadius.md-with-dashes"
:type :border-radius})
2024-10-01 09:56:03 +02:00
(def tokens (d/ordered-map
(:name border-radius-token) border-radius-token
(:name reference-border-radius-token) reference-border-radius-token))
2024-08-15 10:03:25 +02:00
(t/deftest resolve-tokens-test
(t/async
done
2024-08-22 10:59:40 +02:00
(t/testing "resolves tokens using style-dictionary from a ids map"
2024-08-15 10:03:25 +02:00
(-> (sd/resolve-tokens+ tokens)
2024-10-01 09:56:03 +02:00
(p/finally
(fn [resolved-tokens]
(let [expected-tokens {"borderRadius.sm"
(assoc border-radius-token
:resolved-value 12
:resolved-unit "px")
"borderRadius.md-with-dashes"
(assoc reference-border-radius-token
:resolved-value 24
:resolved-unit "px")}]
(t/is (= 12 (get-in resolved-tokens ["borderRadius.sm" :resolved-value])))
(t/is (= "px" (get-in resolved-tokens ["borderRadius.sm" :unit])))
(t/is (= 24 (get-in resolved-tokens ["borderRadius.md-with-dashes" :resolved-value])))
(t/is (= "px" (get-in resolved-tokens ["borderRadius.md-with-dashes" :unit])))
(done))))))))