mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
fix: can't undo pasting at empty block
This commit is contained in:
@@ -84,6 +84,8 @@
|
||||
|
||||
(def copy #(k/press "ControlOrMeta+c" {:delay 100}))
|
||||
(def paste #(k/press "ControlOrMeta+v" {:delay 100}))
|
||||
(def undo #(k/press "ControlOrMeta+z" {:delay 100}))
|
||||
(def redo #(k/press "ControlOrMeta+y" {:delay 100}))
|
||||
|
||||
(defn- indent-outdent
|
||||
[indent?]
|
||||
|
||||
34
clj-e2e/test/logseq/e2e/undo_redo_test.clj
Normal file
34
clj-e2e/test/logseq/e2e/undo_redo_test.clj
Normal file
@@ -0,0 +1,34 @@
|
||||
(ns logseq.e2e.undo-redo-test
|
||||
(:require
|
||||
[clojure.set :as set]
|
||||
[clojure.test :refer [deftest testing is use-fixtures]]
|
||||
[logseq.e2e.assert :as assert]
|
||||
[logseq.e2e.block :as b]
|
||||
[logseq.e2e.fixtures :as fixtures]
|
||||
[logseq.e2e.keyboard :as k]
|
||||
[logseq.e2e.page :as p]
|
||||
[logseq.e2e.util :as util]
|
||||
[wally.main :as w]
|
||||
[wally.repl :as repl]))
|
||||
|
||||
(use-fixtures :once fixtures/open-page)
|
||||
|
||||
(use-fixtures :each
|
||||
fixtures/new-logseq-page
|
||||
fixtures/validate-graph)
|
||||
|
||||
(deftest undo-redo-paste
|
||||
(testing "Undo redo paste blocks"
|
||||
(b/new-blocks ["b1" "b2"])
|
||||
(b/select-blocks 2)
|
||||
(b/copy)
|
||||
(b/new-block "")
|
||||
(b/paste)
|
||||
(util/exit-edit)
|
||||
(is (= ["b1" "b2" "b1" "b2"] (util/get-page-blocks-contents)))
|
||||
(b/undo)
|
||||
(util/exit-edit)
|
||||
(is (= ["b1" "b2"] (util/get-page-blocks-contents)))
|
||||
(b/redo)
|
||||
(util/exit-edit)
|
||||
(is (= ["b1" "b2" "b1" "b2"] (util/get-page-blocks-contents)))))
|
||||
@@ -267,7 +267,9 @@
|
||||
(let [{:keys [tx-data tx-meta] :as data} (some #(when (= ::db-transact (first %))
|
||||
(second %)) op)]
|
||||
(when (seq tx-data)
|
||||
(let [reversed-tx-data (get-reversed-datoms conn undo? data tx-meta)
|
||||
(let [reversed-tx-data (cond-> (get-reversed-datoms conn undo? data tx-meta)
|
||||
undo?
|
||||
reverse)
|
||||
tx-meta' (-> tx-meta
|
||||
(dissoc :batch-tx/batch-tx-mode?)
|
||||
(assoc
|
||||
|
||||
Reference in New Issue
Block a user