Ver Fonte

fix: page rename test

Tienson Qin há 1 ano atrás
pai
commit
d09a0d0b80

+ 4 - 0
deps/common/src/logseq/common/util.cljs

@@ -359,3 +359,7 @@
 (defn replace-ignore-case
 (defn replace-ignore-case
   [s old-value new-value]
   [s old-value new-value]
   (string/replace s (re-pattern (str "(?i)" (escape-regex-chars old-value))) new-value))
   (string/replace s (re-pattern (str "(?i)" (escape-regex-chars old-value))) new-value))
+
+(defn replace-first-ignore-case
+  [s old-value new-value]
+  (string/replace-first s (re-pattern (str "(?i)" (escape-regex-chars old-value))) new-value))

+ 2 - 1
src/main/frontend/handler/page.cljs

@@ -80,7 +80,8 @@
       (notification/show! "Please use a valid name, empty name is not allowed!" :error)
       (notification/show! "Please use a valid name, empty name is not allowed!" :error)
       :merge-whiteboard-pages
       :merge-whiteboard-pages
       (notification/show! "Can't merge whiteboard pages" :error)
       (notification/show! "Can't merge whiteboard pages" :error)
-      nil)))
+      nil)
+    result))
 
 
 (defn reorder-favorites!
 (defn reorder-favorites!
   [favorites]
   [favorites]

+ 8 - 8
src/main/frontend/worker/handler/page/rename.cljs

@@ -28,11 +28,11 @@
           (let [namespace-block (d/entity @conn [:block/name (common-util/page-name-sanity-lc namespace)])
           (let [namespace-block (d/entity @conn [:block/name (common-util/page-name-sanity-lc namespace)])
                 page-txs [{:db/id (:db/id page)
                 page-txs [{:db/id (:db/id page)
                            :block/namespace (:db/id namespace-block)}]]
                            :block/namespace (:db/id namespace-block)}]]
-            (d/transact! conn repo page-txs))))
+            (ldb/transact! conn page-txs {:persist-op? true}))))
 
 
       old-namespace?
       old-namespace?
       ;; retract namespace
       ;; retract namespace
-      (d/transact! conn [[:db/retract (:db/id page) :block/namespace]])
+      (ldb/transact! conn [[:db/retract (:db/id page) :block/namespace]] {:persist-op? true})
 
 
       :else
       :else
       nil)))
       nil)))
@@ -124,7 +124,7 @@
                                 (replace-page-ref from-page to-page)
                                 (replace-page-ref from-page to-page)
                                 (page-rename/replace-page-ref db config from-page-name to-page-name))
                                 (page-rename/replace-page-ref db config from-page-name to-page-name))
           tx-data (concat blocks-tx-data replace-ref-tx-data)]
           tx-data (concat blocks-tx-data replace-ref-tx-data)]
-      (d/transact! conn tx-data {:persist-op? persist-op?})
+      (ldb/transact! conn tx-data {:persist-op? persist-op?})
       (rename-update-namespace! repo conn config from-page
       (rename-update-namespace! repo conn config from-page
                                 (common-util/get-page-original-name from-page)
                                 (common-util/get-page-original-name from-page)
                                 (common-util/get-page-original-name to-page)))
                                 (common-util/get-page-original-name to-page)))
@@ -200,7 +200,7 @@
             ;; Example: has pages [[work]] [[work/worklog]],
             ;; Example: has pages [[work]] [[work/worklog]],
             ;; we want to rename [[work/worklog]] to [[work1/worklog]] when rename [[work]] to [[work1]],
             ;; we want to rename [[work/worklog]] to [[work1/worklog]] when rename [[work]] to [[work1]],
             ;; but don't rename [[work/worklog]] to [[work1/work1log]]
             ;; but don't rename [[work/worklog]] to [[work1/work1log]]
-            new-page-title (string/replace-first old-page-title old-name new-name)]
+            new-page-title (common-util/replace-first-ignore-case old-page-title old-name new-name)]
         (when (and old-page-title new-page-title)
         (when (and old-page-title new-page-title)
           (rename-page-aux repo conn config old-page-title new-page-title)
           (rename-page-aux repo conn config old-page-title new-page-title)
           (println "Renamed " old-page-title " to " new-page-title))))))
           (println "Renamed " old-page-title " to " new-page-title))))))
@@ -260,10 +260,10 @@
       (do
       (do
         (cond
         (cond
           (= old-page-name new-page-name) ; case changed
           (= old-page-name new-page-name) ; case changed
-          (d/transact! conn
-                       [{:db/id (:db/id page-e)
-                         :block/original-name new-name}]
-                       {:persist-op? persist-op?})
+          (ldb/transact! conn
+                         [{:db/id (:db/id page-e)
+                           :block/original-name new-name}]
+                         {:persist-op? persist-op?})
 
 
           (and (not= old-page-name new-page-name)
           (and (not= old-page-name new-page-name)
                (d/entity @conn [:block/name new-page-name])) ; merge page
                (d/entity @conn [:block/name new-page-name])) ; merge page

+ 1 - 1
src/test/frontend/handler/db_based/page_test.cljs

@@ -94,7 +94,7 @@
 ;; TODO: full coverage
 ;; TODO: full coverage
 (deftest rename-namespace-pages
 (deftest rename-namespace-pages
   (testing "Rename a page to a namespaced one"
   (testing "Rename a page to a namespaced one"
-    (page-handler/rename! "Test" "Abc/Def Ghi/Jk" false false)
+    (page-handler/rename! "Test" "Abc/Def Ghi/Jk" {})
     (let [e1 (db/entity [:block/name "test"])
     (let [e1 (db/entity [:block/name "test"])
           e2 (db/entity [:block/name "abc/def ghi/jk"])
           e2 (db/entity [:block/name "abc/def ghi/jk"])
           e3 (db/entity [:block/name "abc/def ghi"])
           e3 (db/entity [:block/name "abc/def ghi"])