From 28f25da9e8e54b9509c77c18574e301e8c64c256 Mon Sep 17 00:00:00 2001 From: Florian Schroedl Date: Mon, 24 Jun 2024 14:29:29 +0200 Subject: [PATCH] Move to tests --- .../ui/workspace/tokens/style_dictionary.cljs | 17 +++-------------- .../test/token_tests/style_dictionary_test.cljs | 5 +++++ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs b/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs index 7b6393648..7cdc438d4 100644 --- a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs @@ -30,20 +30,9 @@ (map second) (into #{}))) -(defn token-self-reference? [token-name reference-string] - (let [escaped-name (str/replace token-name "." "\\.") - regex (-> (str "{" escaped-name "}") - (re-pattern))] - (re-find regex reference-string))) - -(comment - (token-self-reference? {:name "some.value"} "{md} + {some.value}") - (token-self-reference? {:name "some.value"} "some.value") - (token-self-reference? {:name "some.value"} "{some|value}") - (token-self-reference? {:name "sm"} "{md} + {lg}") - (token-self-reference? {:name "sm"} "1") - (token-self-reference? {:name ""} "121") - nil) +(defn token-self-reference? [token-name value-string] + (let [refs (find-token-references value-string)] + (get refs token-name))) (defn tokens->style-dictionary+ "Resolves references and math expressions using StyleDictionary. diff --git a/frontend/test/token_tests/style_dictionary_test.cljs b/frontend/test/token_tests/style_dictionary_test.cljs index ff03ba16c..8b77745cc 100644 --- a/frontend/test/token_tests/style_dictionary_test.cljs +++ b/frontend/test/token_tests/style_dictionary_test.cljs @@ -18,3 +18,8 @@ (t/is (nil? (wtsd/find-token-references "1 + 2"))) ;; Edge-case: Ignore unmatched closing parens (t/is (= #{"foo" "bar"} (wtsd/find-token-references "{foo}} + {bar}")))) + +(t/deftest test-token-self-reference? + (t/is (some? (wtsd/token-self-reference? "some.value" "{md} + {some.value}"))) + (t/is (nil? (wtsd/token-self-reference? "some.value" "some.value"))) + (t/is (nil? (wtsd/token-self-reference? "sm" "{md} + {lg}"))))