Fork me on GitHub
#emacs
<
2022-07-08
>
Charles Comstock22:07:37

Adjust a feature to cljr-refactor, and I'm kind of struggling with the ecukes/espuds testing workflow. Specifically, I'm testing an interaction that triggers a completing-read, but the other tests that do that appear to use espud "active chain" to play back a keyboard macro. Unfortunately since the test is only checking the final buffer contents, it's not really clear if it's stuck in the minibuffer or something else midway through the macro playback. Does anyone have any hints or tricks for debugging that kind of test with ecukes/espuds?

vemv00:07:04

Starting from this commit https://github.com/clojure-emacs/clj-refactor.el/commit/363b95c5d2855abc93ac011e9adc778cf7a773e5 we're giving preference to unit tests - more integration-y tests were painful to maintain. So as long as you can extract various logic to pure defuns, and have those defuns tested, your PR will be fine :)

vemv00:07:12

I'll review it tomorrow or so

Charles Comstock00:07:56

Ok, cool, I can add some of those. It definitely changed existing behavior though, so I guess pre the code review the main question is does the change make sense? Worried it helps a lot for my use cases, but guessing by the couple failing integration tests there are a couple use cases I may have missed. Anyway, it's more of a feature spike at the moment, happy to tune all the other requirements if it's a suitable approach.

vemv01:07:23

I took a very quick look so I still haven't grasped what it's about in my local copy I use ido-completing-read so I don't like the default behavior either :) but, I try to never inflict breaking changes, be it from UX or API point of view. So changes would have to go through defcustoms

Charles Comstock01:07:42

Yea I mean if we want the defcustom route, I can just make an alternate version of cljr-slash for folks to bind.