aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororeodave <aryadevchavali1@gmail.com>2019-08-27 17:24:27 +0100
committeroreodave <aryadevchavali1@gmail.com>2019-08-27 17:24:27 +0100
commitfc86026dcd00cf035bf5344f6175eb43917771cb (patch)
tree32de6c586c7d2b3347c75899f5d381c911fe2000
parent38c273a5d9a5f83ece316299654fe15b73520f70 (diff)
downloaddotfiles-fc86026dcd00cf035bf5344f6175eb43917771cb.tar.gz
dotfiles-fc86026dcd00cf035bf5344f6175eb43917771cb.tar.bz2
dotfiles-fc86026dcd00cf035bf5344f6175eb43917771cb.zip
-csharp-unit-test function +reimpl of emit-results
The reimplementation of omnisharp--unit-test-emit-results is so stdout is always printed regardless of errors. Makes it cleaner to use.
-rw-r--r--doom.d/config.org53
1 files changed, 51 insertions, 2 deletions
diff --git a/doom.d/config.org b/doom.d/config.org
index f847370..b9fe3ca 100644
--- a/doom.d/config.org
+++ b/doom.d/config.org
@@ -169,12 +169,61 @@ My docsets are stored in .docsets for ease of use
(load-file (concat doom-private-dir "config.el"))
)
#+END_SRC
-
** Languages
*** C#
#+BEGIN_SRC emacs-lisp
(after! csharp-mode
- (defun oreodave/csharp/unit-test ()
+ (defun omnisharp--unit-test-emit-results (passed results)
+ ; Mostly a copy of the actual omnisharp--unit-test-emit-results function
+ ; Just allows stdout to come out regardless of whether test has passed or not
+ (omnisharp--unit-test-message "")
+
+ (seq-doseq (result results)
+ (-let* (((&alist 'MethodName method-name
+ 'Outcome outcome
+ 'ErrorMessage error-message
+ 'ErrorStackTrace error-stack-trace
+ 'StandardOutput stdout
+ 'StanderError stderr) result)
+ (outcome-is-passed (string-equal "passed" outcome)))
+
+ (omnisharp--unit-test-message
+ (format "[%s] %s "
+ (propertize
+ (upcase outcome)
+ 'font-lock-face (if outcome-is-passed
+ '(:foreground "green" :weight bold)
+ '(:foreground "red" :weight bold)))
+ (omnisharp--truncate-symbol-name method-name 76)))
+
+ (unless (= (seq-length stdout) 0)
+ (omnisharp--unit-test-message "Standard output:")
+ (seq-doseq (stdout-line stdout)
+ (omnisharp--unit-test-message stdout-line)))
+
+ (unless outcome-is-passed
+ (omnisharp--unit-test-message error-message)
+
+ (if error-stack-trace
+ (omnisharp--unit-test-message error-stack-trace))
+
+ (unless (= (seq-length stderr) 0)
+ (omnisharp--unit-test-message "Standard error:")
+ (seq-doseq (stderr-line stderr)
+ (omnisharp--unit-test-message stderr-line)))
+ )))
+
+ (omnisharp--unit-test-message "")
+
+ (if (eq passed :json-false)
+ (omnisharp--unit-test-message
+ (propertize "*** UNIT TEST RUN HAS FAILED ***"
+ 'font-lock-face '(:foreground "red" :weight bold)))
+ (omnisharp--unit-test-message
+ (propertize "*** UNIT TEST RUN HAS SUCCEEDED ***"
+ 'font-lock-face '(:foreground "green" :weight bold)))
+ )
+ nil)
(interactive)
(omnisharp--cs-inspect-buffer
(lambda (elements)