mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
Merge branch 'master' into refactor/page-parent
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
(:require [logseq.e2e.keyboard :as k]
|
||||
[logseq.e2e.util :as util]
|
||||
[wally.main :as w]
|
||||
[wally.selectors :as ws])
|
||||
[wally.selectors :as ws]
|
||||
[logseq.e2e.block :as b])
|
||||
(:import (com.microsoft.playwright TimeoutError)))
|
||||
|
||||
(defn goto-page
|
||||
@@ -30,3 +31,10 @@
|
||||
(w/click "button[title='More']")
|
||||
(w/click "[role='menuitem'] div:text('Delete page')")
|
||||
(w/click "div[role='alertdialog'] button:text('ok')"))
|
||||
|
||||
(defn rename-page
|
||||
[old-page-name new-page-name]
|
||||
(goto-page old-page-name)
|
||||
(w/click "div[data-testid='page title']")
|
||||
(b/save-block new-page-name)
|
||||
(k/esc))
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
[logseq.e2e.rtc :as rtc]
|
||||
[logseq.e2e.settings :as settings]
|
||||
[logseq.e2e.util :as util]
|
||||
[wally.main :as w]))
|
||||
[wally.main :as w]
|
||||
[wally.repl :as repl]))
|
||||
|
||||
(defn- prepare-rtc-graph-fixture
|
||||
"open 2 app instances, add a rtc graph, check this graph available on other instance"
|
||||
@@ -286,3 +287,63 @@ page2:
|
||||
(k/enter)
|
||||
(b/indent)))
|
||||
(validate-2-graphs))))
|
||||
|
||||
(deftest rtc-page-test
|
||||
(let [prefix "rtc-page-test-"]
|
||||
;; (testing "create same name page in different clients.
|
||||
;; - client1: offline, create page1
|
||||
;; - client2: offline, create page1
|
||||
;; - restart rtc"
|
||||
;; (rtc/with-stop-restart-rtc
|
||||
;; [@*page1 @*page2]
|
||||
;; [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-1"))
|
||||
;; @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-1"))]
|
||||
;; (w/with-page @*page1
|
||||
;; (page/new-page (str prefix 1)))
|
||||
;; (w/with-page @*page2
|
||||
;; (page/new-page (str prefix 1))))
|
||||
;; (validate-2-graphs))
|
||||
|
||||
;; (testing "
|
||||
;; - client1: offline, add blocks on page-2
|
||||
;; - client2: offline, delete page-2"
|
||||
;; (let [page-name (str prefix 2)]
|
||||
;; (let [*latest-remote-tx (atom nil)]
|
||||
;; (w/with-page @*page1
|
||||
;; (let [{:keys [_local-tx remote-tx]}
|
||||
;; (rtc/with-wait-tx-updated
|
||||
;; (page/new-page page-name))]
|
||||
;; (reset! *latest-remote-tx remote-tx)))
|
||||
;; (w/with-page @*page2
|
||||
;; (rtc/wait-tx-update-to @*latest-remote-tx)))
|
||||
;; (validate-2-graphs)
|
||||
|
||||
;; (rtc/with-stop-restart-rtc
|
||||
;; [@*page1 @*page2]
|
||||
;; [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-2"))
|
||||
;; @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-2"))]
|
||||
;; (w/with-page @*page1
|
||||
;; (b/new-blocks (map #(str "block-" %) (range 5))))
|
||||
;; (w/with-page @*page2
|
||||
;; (page/delete-page page-name)))
|
||||
;; (validate-2-graphs)))
|
||||
(testing "page rename"
|
||||
(let [page-name (str prefix 3)]
|
||||
(let [*latest-remote-tx (atom nil)]
|
||||
(w/with-page @*page1
|
||||
(let [{:keys [_local-tx remote-tx]}
|
||||
(rtc/with-wait-tx-updated
|
||||
(page/new-page page-name))]
|
||||
(reset! *latest-remote-tx remote-tx)))
|
||||
(w/with-page @*page2
|
||||
(rtc/wait-tx-update-to @*latest-remote-tx)))
|
||||
(validate-2-graphs)
|
||||
(rtc/with-stop-restart-rtc
|
||||
[@*page1 @*page2]
|
||||
[@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-3"))
|
||||
@*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-3"))]
|
||||
(w/with-page @*page1
|
||||
(page/rename-page page-name (str page-name "-rename1")))
|
||||
(w/with-page @*page2
|
||||
(page/rename-page page-name (str page-name "-rename2"))))
|
||||
(validate-2-graphs)))))
|
||||
|
||||
@@ -63,7 +63,8 @@
|
||||
(boolean (text-util/get-matched-video url))
|
||||
(util/format "{{video %s}}" url)
|
||||
|
||||
(or (string/includes? url "twitter.com") (string/includes? url "x.com"))
|
||||
(or (re-matches #"^https://twitter\.com.*?$" url)
|
||||
(re-matches #"^https://x\.com.*?$" url))
|
||||
(util/format "{{twitter %s}}" url)))
|
||||
|
||||
(defn- try-parse-as-json
|
||||
|
||||
Reference in New Issue
Block a user