Browse Source

fix: page property test

Tienson Qin 1 year ago
parent
commit
271f34838a

+ 2 - 2
deps/graph-parser/src/logseq/graph_parser/test/docs_graph_helper.cljs

@@ -106,7 +106,7 @@
                 (into {})))
         "Task marker counts")
 
-    (is (= {:markdown 6106 :org 509} (get-block-format-counts db))
+    (is (= {:markdown 6113 :org 509} (get-block-format-counts db))
         "Block format counts")
 
     (is (= {:description 81, :updated-at 46, :tags 5, :logseq.macro-arguments 104
@@ -161,7 +161,7 @@
   ;; only increase over time as the docs graph rarely has deletions
   (testing "Counts"
     (is (= 303 (count files)) "Correct file count")
-    (is (= 64375 (count (d/datoms db :eavt))) "Correct datoms count")
+    (is (= 64382 (count (d/datoms db :eavt))) "Correct datoms count")
 
     (is (= 5866
            (ffirst

+ 18 - 0
src/main/frontend/handler/file_based/page_property.cljs

@@ -31,6 +31,24 @@
           lines (if @key-exists? lines (cons new-property-line lines))]
       (string/join "\n" lines))))
 
+(defn insert-properties
+  "Updates multiple page properties. Mainly just used in legacy title context"
+  [format content kvs]
+  (reduce
+   (fn [content [k v]]
+     (let [k (if (string? k)
+               (keyword (-> (string/lower-case k)
+                            (string/replace " " "-")))
+               k)
+           v (if (coll? v)
+               (some->>
+                (seq v)
+                (distinct)
+                (string/join ", "))
+               v)]
+       (insert-property format content k v)))
+   content kvs))
+
 (defn add-property!
   [page-name key value]
   (let [repo (state/get-current-repo)]

+ 25 - 25
src/test/frontend/handler/file_based/page_property_test.cljs

@@ -1,76 +1,76 @@
 (ns frontend.handler.file-based.page-property-test
   (:require [cljs.test :refer [are deftest testing]]
-            [frontend.handler.file-based.property.util :as property-util]))
+            [frontend.handler.file-based.page-property :as file-page-property]))
 
 (deftest test-insert-property
   (testing "add org page property"
     (are [x y] (= x y)
-      (property-util/insert-property :org "" :title "title")
+      (file-page-property/insert-property :org "" :title "title")
       "#+title: title"
 
-      (property-util/insert-property :org "hello" :title "title")
+      (file-page-property/insert-property :org "hello" :title "title")
       "#+title: title\nhello"
 
-      (property-util/insert-property :org "#+title: title\nhello" :title "new title")
+      (file-page-property/insert-property :org "#+title: title\nhello" :title "new title")
       "#+title: new title\nhello"
 
-      (property-util/insert-property :org "#+title: title\nhello" :alias "alias1")
+      (file-page-property/insert-property :org "#+title: title\nhello" :alias "alias1")
       "#+alias: alias1\n#+title: title\nhello"
 
-      (property-util/insert-property :org "#+title: title\n#+alias: alias1\nhello" :alias "alias2")
+      (file-page-property/insert-property :org "#+title: title\n#+alias: alias1\nhello" :alias "alias2")
       "#+title: title\n#+alias: alias2\nhello"
 
-      (property-util/insert-property :org "#+title: title\n#+alias: alias1, alias2\nhello" :alias "alias3")
+      (file-page-property/insert-property :org "#+title: title\n#+alias: alias1, alias2\nhello" :alias "alias3")
       "#+title: title\n#+alias: alias3\nhello"))
 
   (testing "add markdown page property"
     (are [x y] (= x y)
-      (property-util/insert-property :markdown "" :title "title")
+      (file-page-property/insert-property :markdown "" :title "title")
       "title:: title"
 
-      (property-util/insert-property :markdown "hello" :title "title")
+      (file-page-property/insert-property :markdown "hello" :title "title")
       "title:: title\nhello"
 
-      (property-util/insert-property :markdown "title:: title\nhello" :title "new title")
+      (file-page-property/insert-property :markdown "title:: title\nhello" :title "new title")
       "title:: new title\nhello"
 
-      (property-util/insert-property :markdown "title:: title\nhello" :alias "alias1")
+      (file-page-property/insert-property :markdown "title:: title\nhello" :alias "alias1")
       "alias:: alias1\ntitle:: title\nhello"
 
-      (property-util/insert-property :markdown "title:: title\nalias:: alias1\nhello" :alias "alias2")
+      (file-page-property/insert-property :markdown "title:: title\nalias:: alias1\nhello" :alias "alias2")
       "title:: title\nalias:: alias2\nhello"
 
-      (property-util/insert-property :markdown "title:: title\nalias:: alias1, alias2\nhello" :alias "alias3")
+      (file-page-property/insert-property :markdown "title:: title\nalias:: alias1, alias2\nhello" :alias "alias3")
       "title:: title\nalias:: alias3\nhello"
 
-      (property-util/insert-property :markdown "title:: title\nalias:: alias1, alias2\nhello" :aliases "aliases1")
+      (file-page-property/insert-property :markdown "title:: title\nalias:: alias1, alias2\nhello" :aliases "aliases1")
       "aliases:: aliases1\ntitle:: title\nalias:: alias1, alias2\nhello"
 
-      (property-util/insert-property :markdown "title:: title\nalias:: alias1, alias2\naliases:: aliases1\nhello" :aliases "aliases2")
+      (file-page-property/insert-property :markdown "title:: title\nalias:: alias1, alias2\naliases:: aliases1\nhello" :aliases "aliases2")
       "title:: title\nalias:: alias1, alias2\naliases:: aliases2\nhello")))
 
 (deftest test-insert-properties
   (testing "add org page properties"
     (are [x y] (= x y)
 
-      (property-util/insert-properties :org "" {:title "title"})
+      (file-page-property/insert-properties :org "" {:title "title"})
       "#+title: title"
 
-      (property-util/insert-properties :org "hello" {:title "title"})
+      (file-page-property/insert-properties :org "hello" {:title "title"})
       "#+title: title\nhello"
 
-      (property-util/insert-properties :org "#+title: title\nhello"
+      (file-page-property/insert-properties :org "#+title: title\nhello"
                                   {:title "new title"
                                    :alias "alias1"})
       "#+alias: alias1\n#+title: new title\nhello"
 
-      (property-util/insert-properties :org "#+title: title\n#+alias: alias1\nhello"
+      (file-page-property/insert-properties :org "#+title: title\n#+alias: alias1\nhello"
                                   {:title "new title"
                                    :alias "alias2"
                                    :aliases "aliases1"})
       "#+aliases: aliases1\n#+title: new title\n#+alias: alias2\nhello"
 
-      (property-util/insert-properties :org "#+title: title\n#+alias: alias1, alias2\n#+aliases: aliases1\nhello"
+      (file-page-property/insert-properties :org "#+title: title\n#+alias: alias1, alias2\n#+aliases: aliases1\nhello"
                                   {:title "new title"
                                    :alias "alias2"
                                    :aliases "aliases1"})
@@ -78,24 +78,24 @@
 
   (testing "add markdown page properties"
     (are [x y] (= x y)
-      (property-util/insert-properties :markdown "" {:title "title"})
+      (file-page-property/insert-properties :markdown "" {:title "title"})
       "title:: title"
 
-      (property-util/insert-properties :markdown "hello" {:title "title"})
+      (file-page-property/insert-properties :markdown "hello" {:title "title"})
       "title:: title\nhello"
 
-      (property-util/insert-properties :markdown "title:: title\nhello"
+      (file-page-property/insert-properties :markdown "title:: title\nhello"
                                   {:title "new title"
                                    :alias "alias1"})
       "alias:: alias1\ntitle:: new title\nhello"
 
-      (property-util/insert-properties :markdown "title:: title\nalias:: alias1\nhello"
+      (file-page-property/insert-properties :markdown "title:: title\nalias:: alias1\nhello"
                                   {:title "new title"
                                    :alias "alias2"
                                    :aliases "aliases1"})
       "aliases:: aliases1\ntitle:: new title\nalias:: alias2\nhello"
 
-      (property-util/insert-properties :markdown "title:: title\nalias:: alias1, alias2\naliases:: aliases1\nhello"
+      (file-page-property/insert-properties :markdown "title:: title\nalias:: alias1, alias2\naliases:: aliases1\nhello"
                                   {:title "new title"
                                    :alias "alias2"
                                    :aliases "aliases1"})