emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/clojure-ts-mode e9c328a33a 166/210: Add tests for paredit


From: ELPA Syncer
Subject: [nongnu] elpa/clojure-ts-mode e9c328a33a 166/210: Add tests for paredit interaction
Date: Thu, 31 Oct 2024 18:59:56 -0400 (EDT)

branch: elpa/clojure-ts-mode
commit e9c328a33a8839e1bb193a66780703d43b5afc90
Author: yuhan0 <qythium@gmail.com>
Commit: Bozhidar Batsov <bozhidar.batsov@gmail.com>

    Add tests for paredit interaction
---
 clojure-mode-external-interaction-test.el | 90 +++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/clojure-mode-external-interaction-test.el 
b/clojure-mode-external-interaction-test.el
new file mode 100644
index 0000000000..5e3d854cf6
--- /dev/null
+++ b/clojure-mode-external-interaction-test.el
@@ -0,0 +1,90 @@
+;;; clojure-mode-external-interaction-test.el --- Clojure Mode interactions 
with external packages test suite  -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2014-2020 Bozhidar Batsov <bozhidar@batsov.com>
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'clojure-mode)
+(require 'buttercup)
+(require 'paredit)
+
+(describe "Interactions with Paredit"
+  ;; reuse existing when-refactoring-it macro
+  (describe "it should insert a space"
+    (when-refactoring-it "before lists"
+      "foo"
+      "foo ()"
+      (paredit-mode)
+      (paredit-open-round))
+    (when-refactoring-it "before vectors"
+      "foo"
+      "foo []"
+      (paredit-mode)
+      (paredit-open-square))
+    (when-refactoring-it "before maps"
+      "foo"
+      "foo {}"
+      (paredit-mode)
+      (paredit-open-curly))
+    (when-refactoring-it "before strings"
+      "foo"
+      "foo \"\""
+      (paredit-mode)
+      (paredit-doublequote))
+    (when-refactoring-it "after gensym"
+      "foo#"
+      "foo# ()"
+      (paredit-mode)
+      (paredit-open-round))
+    (when-refactoring-it "after symbols ending with '"
+      "foo'"
+      "foo' ()"
+      (paredit-mode)
+      (paredit-open-round)))
+  (describe "should not insert a space"
+    (when-refactoring-it "for anonymous fn syntax"
+      "foo #"
+      "foo #()"
+      (paredit-mode)
+      (paredit-open-round))
+    (when-refactoring-it "for hash sets"
+      "foo #"
+      "foo #{}"
+      (paredit-mode)
+      (paredit-open-curly))
+    (when-refactoring-it "for regexes"
+      "foo #"
+      "foo #\"\""
+      (paredit-mode)
+      (paredit-doublequote))
+    (when-refactoring-it "for quoted collections"
+      "foo '"
+      "foo '()"
+      (paredit-mode)
+      (paredit-open-round))
+    (when-refactoring-it "for reader conditionals"
+      "foo #?"
+      "foo #?()"
+      (paredit-mode)
+      (paredit-open-round))))
+
+
+(provide 'clojure-mode-external-interaction-test)
+
+
+;;; clojure-mode-external-interaction-test.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]