summaryrefslogtreecommitdiff
path: root/cider-test.el
Commit message (Collapse)AuthorAge
* Update to nrepl 0.6.0 / cider-nrepl 0.21.0Michael Griffiths2019-03-15
| | | | (cherry picked from commit a48af155d8acf64e7c3025146027ef2d62f1cc2e)
* Bump the copyright yearsBozhidar Batsov2019-01-01
|
* Correct reference to 'font-lock-string-facevemv2018-09-29
|
* [#2357] Support both keywords and strings as test selectorsBozhidar Batsov2018-07-19
|
* Initialize `sesman-system` in all CIDER modesVitalie Spinu2018-07-13
|
* [Fix #2374] Eliminate nils from the creation of the test requestsBozhidar Batsov2018-07-05
| | | | | | The previous code didn't account for any nils that might come up from the whens. Ideally we should just move this request building to a unit testable function.
* [Fix #2357] Don't add nil keys to the test op requestsBozhidar Batsov2018-06-30
| | | | | They don't make sense and can mess up the request handling on the nREPl side.
* Fix the test selector filtering functionalityBozhidar Batsov2018-06-28
| | | | | It was broken due to a silly typo - "includes" and "excludes" should have actually been "include" and "exclude".
* Move the cider-find-var functionality to cider-find.elBozhidar Batsov2018-06-26
|
* [Fix #2203] Rename cider-interaction.el to cider-eval.elBozhidar Batsov2018-06-25
| | | | | | | | | | All of the non-eval functionality was removed, which marks the end of the process of breaking up the old file. Down the road we may opt to break down cider-eval into some core functionality and extra functionality, as many of the eval commands there are kind of "exotic", but that's not that important at this point.
* [Fix #2347] Remove direct manipulations of cider-ancillary-buffersBozhidar Batsov2018-06-24
| | | | | CIDER's popups had a way to track those automatically for a while, it's time to leverage this consistently.
* Revert "Remove cider-compat.el"Bozhidar Batsov2018-06-18
| | | | | | | This reverts commit b28fbac964907172fdedc3bea56eab905d5fbdbf. This can't be fully removed due to the difference in the signature of `if-let*` and `when-let*` in Emacs 25 and 26.
* Remove cider-compat.elBozhidar Batsov2018-06-18
| | | | It's no longer needed now that we target Emacs 25.
* New connection API and jack-in rewrite (#2324)Vitalie Spinu2018-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Second attempt on #2069. A brief description of the new functionality follows. 1) __Jack-in/connect__ - User level commands: Create new sessions: C-c M-j: cider-jack-in-clj C-c M-J: cider-jack-in-cljs C-c M-c: cider-connect-clj C-c M-C: cider-connect-cljs Add new REPLs to the current session: C-c M-s: cider-connect-sibling-clj C-c M-S: cider-connect-sibling-cljs - `cider-jack-in-clojurescript` no longer creates two repls, only the cljs repl - clj repl has no longer a special status of the "main" repl. All repls within a session share same server and are siblings of each other. You can create as many clj and cljs siblings as you want from any repl. - Creation of the client is no longer tightly bounded with the nrepl-server startup. The dynamic communication mechanism between jack-in and nrepl-server filter has been replace by a simple `on-port-callback`. 2) __New Connection and Session Management API__ - Connections (aka REPLs) are grouped in [sesman](https://github.com/vspinu/sesman) sessions. Sibling repls are added to the current session. - Cider connection commands (`cider-quit`, `cider-restart`, `cider-display-connection-info`) have been refactored to operate exclusively on the connection level. - Sesman commands operate on the whole session: ![sesman-map](https://user-images.githubusercontent.com/1363467/41355277-6864ffb8-6f21-11e8-9387-3de586477d68.png) - Associations (links) between current context (buffer, directory, project) are governed by sesman and could be formed only on the session level. In a nutshell, session can be linked to projects, directories and buffers. Buffer link have precedence over directory links, and directory have precedence over project links. When a sesman session is registered it's automatically linked with the lowest priority context (project, or directory if no project found). By default (configured with `sesman-1-to-1-links`) multiple sessions can be linked with a project or a directory, but only one session can be linked with a buffer. Cider functionality (eval, completion, repl-switching etc) operate on linked sessions. When there are multiple linked sessions ambiguity is automatically resolved by the recency of the REPL buffers (configured with `sesman-disambiguate-by-relevance`). - Show info on current links with `C-c C-s l`. Show info on current, linked or all sessions with `C-c C-s i`. - Micro-management of the server is not allowed (it's not useful and would complicate UI). All repls within a session share a server. Server can be either remote (`cider-connect`) or local (bootstraped within the emacs during `cider-jack-in-xyz`). In case of the local server, when the last connection is killed the server is automatically killed. `cider-restart` restarts the connection but not the server. `sesman-restart` restarts the server and all the connections. At least two issues I still plan to tackle here: - Restart of SSH tunneled connection has not been tested and probably doesn't work - REPL buffer naming system is no longer adequate. It should be possible to include session name as part of the buffer name and add more flexibility into the customization of buffer name templates. ----- A tot of no longer necessary or questionable functionality has been removed. The goal is to start from scratch and add only what is really necessary. I am listing all the removed functions for the ease of lookup through the github interface. Removed: cider--connection-host, cider--connection-port, cider--connection-project-dir, cider--connection-properties, cider--connection-type, cider--guess-cljs-connection, cider--has-warned-about-bad-repl-type, cider--in-connection-buffer-p, cider--quit-connection, cider--restart-connection, cider-assoc-buffer-with-connection, cider-assoc-project-with-connection, cider-change-buffers-designation, cider-clear-buffer-local-connection, cider-close-nrepl-session, cider-connections (variable), cider-current-connection (variable), cider-current-messages-buffer, cider-current-repl-buffer, cider-default-connection, cider-extract-designation-from-current-repl-buffer, cider-find-connection-buffer-for-project-directory, cider-find-reusable-repl-buffer, cider-make-connection-default, cider-map-connections, cider-other-connection, cider-project-connections, cider-project-connections-types, cider-prompt-for-project-on-connect, cider-read-connection, cider-repl-buffers, cider-replicate-connection, cider-request-dispatch, cider-rotate-default-connection, cider-toggle-buffer-connection, cider-toggle-request-dispatch, nrepl-connection-buffer-name-template, nrepl-create-client-buffer-function, nrepl-post-client-callback nrepl-prompt-to-kill-server-buffer-on-quit, nrepl-use-this-as-repl-buffer, Connection Browser Functionality: cider--connection-browser-buffer-name, cider--connection-ewoc, cider--connection-pp, cider--connections-close-connection, cider--connections-goto-connection, cider--connections-make-default, cider--connections-refresh, cider--connections-refresh-buffer, cider--ewoc-apply-at-point, cider--setup-connection-browser, cider--update-connections-display, cider-client-name-repl-type, cider-connection-browser, cider-connections-buffer-mode, cider-connections-buffer-mode-map cider-connections-close-connection, cider-connections-goto-connection, cider-connections-make-default, cider-display-connected-message, cider-project-name, Renamed: cider-current-session -> cider-nrepl-eval-session cider-current-tooling-session -> cider-nrepl-tooling-session cider-display-connection-info -> cider-describe-current-connection cider-create-sibling-cljs-repl -> cider-connect-sibling-cljs nrepl-connection-buffer-name -> nrepl-repl-buffer-name cider--close-connection-buffer -> cider--close-connection ## repl <> connection overlap cleanup cider-connections -> cider-repls cider-current-connection -> cider-current-repl cider-map-connections -> cider-map-repls cider-connection-type-for-buffer -> cider-repl-type-for-buffer cider-repl-set-type -> cider-set-repl-type
* Optimize a bit of codeBozhidar Batsov2018-05-07
|
* Extend the test filtering functionalityBozhidar Batsov2018-04-17
| | | | | Now we support multiple include and exclude filter selectors, similar to what most build tools and the test-runner do.
* Add test selector supportBenedek Fazekas2018-04-03
| | | | | | | | | | | | | Test all and test ns understand leiningen style test selectors, eg metadata markers on `deftest`s. No support for namespace level metada markers for now. If test selector is specified only the test(s) run that have that selector in their metadata. If all loaded tests or project tests are invoked with prefix, ask for test selector in the minibuffer. A command is available to run ns tests with a selector.
* [Fix #2240] `cider-test-ediff` values properly (#2241)Tianxiang Xiong2018-03-18
| | | | | Fix #2240 Always diff eval'ed expected value against first eval'ed actual value.
* [#2199] Checkdoc fixesNeil Okamoto2018-03-05
|
* Check `actual` before insert in `cider-test-render-assertion`Tianxiang Xiong2018-01-24
| | | | Fix #2178
* Render diffs for expected / actual test resultsTianxiang Xiong2018-01-23
| | | | Requires clojure-emacs/cider-nrepl#478
* Highlight failed assertions in tests that were defined interactivelyBozhidar Batsov2018-01-19
| | | | | | | Originally nREPL wasn't setting location metadata for vars defined interactively, but this was changed at some point (I forgot the exact nREPL version). We could have fixed this a long time ago, but I guess nobody paid it any attention.
* Make a couple of documentation section titles stand out moreBozhidar Batsov2018-01-18
|
* Add a couple of comments to cider-test-run-testBozhidar Batsov2018-01-18
|
* Bump the copyright yearsBozhidar Batsov2018-01-01
|
* Simplify a bit of code by using string-suffix-pBozhidar Batsov2017-12-24
|
* Replace `if-let` and `when-let` with starred versionsTianxiang Xiong2017-12-11
| | | | | | | | | | Fix #2130. Emacs 26 obsoletes `if-let` and `when-let`, replacing them with `if-let*` and `when-let*`. This raises byte-compilation warnings (treated as errors) when testing against Emacs 26. See: http://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-26#n1278
* Update various faces when a theme is disabledUstun Ozgur2017-05-09
| | | | Previously, we were only updating faces when we enable themes.
* [Fix #1352] Add checkdoc to build (#1957)Erik Assum2017-03-10
| | | This also fixes some issues checkdoc was currently reporting.
* Don't use `list` where backquoting would be clearerTianxiang Xiong2017-03-01
|
* Remove session from nrepl interaction (#1925)dpsutton2017-01-23
| | | | | Connection and session are inextricably linked. Rather than try to thread these two in lockstep throughout the whole request life cycle, we let the last step insert either the nrepl-session or the nrepl-tooling-session.
* [Fix #1776] Add new customization variable `cider-test-defining-forms`.Nick Alexander2017-01-04
| | | | | | | | | | | | | | | | | | | | This fix is strictly simpler than that suggested in https://github.com/clojure-emacs/cider/issues/1776#issuecomment-223758069. It has the advantage of being much more robust. I partially implemented the suggested fix, and witnessed the following two issues. First, full "macroexpand" does not leave a recognizable `deftest` form; it generally leaves a `(def test-... (fn [] ...))` sexp. That implies that a recursive macroexpansion would be required, with each step of the recursion checking for a recognized form. Second, even recognizing such a form is tricky, because the expansion may refer to deftest in an aliased namespace (e.g., `t/deftest` or `clojure.test/deftest` rather than bare `deftest`). One could then try to identify possible namespaces using the current environment, but this is getting complicated. Therefore, I think it better to have the user configure their environment to help them solve this problem. (And, of course, future work can implement the full macroexpansion approach.)
* Update the copyright years in the source codeBozhidar Batsov2017-01-04
|
* [Fix #1882] Restore compatibility with Emacs 24.4Bozhidar Batsov2016-11-25
| | | | | The functions in `cider-compat.el` were actually added in Emacs 25.1, not Emacs 24.4.
* Drop support for Emacs 24.3Bozhidar Batsov2016-11-19
|
* [Fix #1707] Add customization for line truncating in special buffersBartłomiej Kruczyk2016-10-16
|
* Fix the documentation about the cider-test-report keybindingsBozhidar Batsov2016-10-08
|
* [Fix #1851] Add a command to re-run the last test that was ranBozhidar Batsov2016-10-08
|
* Rename cider-test-rerun-tests to cider-test-rerun-failed-testsBozhidar Batsov2016-10-08
|
* Add some keybindings to the cider-test-report-mode-mapBozhidar Batsov2016-10-08
|
* [Fix #1825] Show generated test input (#1826)Sebastian Poeplau2016-08-20
|
* Add f and g keybinds to cider-test-report-mode-mapArtur Malabarba2016-04-15
|
* Change cider-type overlay property to categoryArtur Malabarba2016-04-12
|
* Tag and remove cider-test overlays only (#1663)Vasilij Schneidermann2016-04-11
| | | Fixes #1643
* Improve CIDER's menu-bar menu (#1661)Artur Malabarba2016-04-11
| | | | | | | | | | | | * Improve CIDER's menu-bar menu - Thoroughly reorganize it and split it into 3 separate menus; - Add a 4th menu, that only appears if `cider-mode` isn't active; - Add custom-written `:help` strings to some items, and automatically add help strings to the rest; - Add a few commands; - Grey-out commands that rely on connections while there is no connection. * Add a screenshot to the Readme
* Kill everything that was obsoleted in the previous releaseBozhidar Batsov2016-04-10
|
* [#1352] Documentation complies with checkdoc styleChaitanya Koparkar2016-04-06
|
* [Fix #1425] Define cider-auto-test-modeArtur Malabarba2016-03-30
|
* Allow tests to be run silentlyArtur Malabarba2016-03-30
|
* Update a few copyright headersBozhidar Batsov2016-03-27
|