[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/csharp-mode ffe87f9 150/459: Tests: refactor imenu-test
From: |
ELPA Syncer |
Subject: |
[elpa] externals/csharp-mode ffe87f9 150/459: Tests: refactor imenu-tests |
Date: |
Sun, 22 Aug 2021 13:59:16 -0400 (EDT) |
branch: externals/csharp-mode
commit ffe87f9f9fb74d1856addf502f10ce90221b3ee7
Author: Jostein Kjønigsen <jostein@kjonigsen.net>
Commit: Jostein Kjønigsen <jostein@kjonigsen.net>
Tests: refactor imenu-tests
Less copy-paste. Not at zero, but at least better...
---
csharp-mode-tests.el | 76 +++++++++++++++++++++++-----------------------------
1 file changed, 34 insertions(+), 42 deletions(-)
diff --git a/csharp-mode-tests.el b/csharp-mode-tests.el
index 099d54f..6a0b128 100644
--- a/csharp-mode-tests.el
+++ b/csharp-mode-tests.el
@@ -174,62 +174,54 @@
(result (csharp--imenu-remove-param-names-from-paramlist
test-value)))
(should (equal expected-value result)))))
-(ert-deftest imenu-parsing-supports-generic-parameters ()
- (let* ((find-file-hook nil) ;; avoid vc-mode file-hooks when opening!
- (buffer (find-file-read-only
"./test-files/imenu-generics-test.cs"))
- (imenu-index (csharp--imenu-create-index-helper nil "" t t)) ;;
same line as in `csharp-imenu-create-index'.
- (class-entry (cadr imenu-index))
+(defmacro def-imenutest (testname filename index &rest body)
+ `(ert-deftest ,testname ()
+ (let* ((find-file-hook nil) ;; avoid vc-mode file-hooks when opening!
+ (buffer (find-file-read-only ,filename))
+ (,index (csharp--imenu-create-index-helper nil "" t t)) ;;
same line as in `csharp-imenu-create-index'.
+ )
+ ,@body
+ (kill-buffer buffer))))
+
+(def-imenutest imenu-parsing-supports-generic-parameters
+ "./test-files/imenu-generics-test.cs" imenu-index
+ (let* ((class-entry (cadr imenu-index))
(class-entries (cdr class-entry))
(imenu-items (mapconcat 'car class-entries " ")))
;; ("(top)" "method void NoGeneric(this IAppBuilder, params object[])"
"method void OneGeneric<T>(this IAppBuilder, params object[])" "method void
TwoGeneric<T1,T2>(this IAppBuilder, params object[])" "(bottom)")
(should (string-match-p "NoGeneric" imenu-items))
(should (string-match-p "OneGeneric<T>" imenu-items))
- (should (string-match-p "TwoGeneric<T1,T2>" imenu-items))
- (kill-buffer buffer)))
-
-(ert-deftest imenu-parsing-supports-comments ()
- (let* ((find-file-hook nil) ;; avoid vc-mode file-hooks when opening!
- (buffer (find-file-read-only
"./test-files/imenu-comment-test.cs"))
- (imenu-index (csharp--imenu-create-index-helper nil "" t t)) ;;
same line as in `csharp-imenu-create-index'.
- (class-entry (cadr imenu-index))
+ (should (string-match-p "TwoGeneric<T1,T2>" imenu-items))))
+
+(def-imenutest imenu-parsing-supports-comments
+ "./test-files/imenu-comment-test.cs" imenu-index
+ (let* ((class-entry (cadr imenu-index))
(class-entries (cdr class-entry))
(imenu-items (mapconcat 'car class-entries " ")))
-
- ;; ("(top)" "method void NoGeneric(this IAppBuilder, params object[])"
"method void OneGeneric<T>(this IAppBuilder, params object[])" "method void
TwoGeneric<T1,T2>(this IAppBuilder, params object[])" "(bottom)")
(should (string-match-p "HasNoComment" imenu-items))
(should (string-match-p "HasComment" imenu-items))
- (should (string-match-p "HasCommentToo" imenu-items))
- (kill-buffer buffer)))
-
-(ert-deftest imenu-parsing-supports-explicit-interface-properties ()
- (let* ((find-file-hook nil) ;; avoid vc-mode file-hooks when opening!
- (buffer (find-file-read-only
"./test-files/imenu-interface-property-test.cs"))
- (imenu-index (csharp--imenu-create-index-helper nil "" t t)) ;;
same line as in `csharp-imenu-create-index'.
- (class-entry (cl-caddr imenu-index))
+ (should (string-match-p "HasCommentToo" imenu-items))))
+
+(def-imenutest imenu-parsing-supports-explicit-interface-properties
+ "./test-files/imenu-interface-property-test.cs" imenu-index
+ (let* ((class-entry (cl-caddr imenu-index))
(class-entries (cdr class-entry))
(imenu-items (mapconcat 'car class-entries " ")))
- (should (string-match-p "prop IIMenuTest.InterfaceString" imenu-items))
- (kill-buffer buffer)))
-
-(ert-deftest imenu-parsing-supports-explicit-interface-methods ()
- (let* ((find-file-hook nil) ;; avoid vc-mode file-hooks when opening!
- (buffer (find-file-read-only
"./test-files/imenu-interface-property-test.cs"))
- (imenu-index (csharp--imenu-create-index-helper nil "" t t)) ;;
same line as in `csharp-imenu-create-index'.
- (class-entry (cl-caddr imenu-index))
+ (should (string-match-p "prop IIMenuTest.InterfaceString" imenu-items))))
+
+(def-imenutest imenu-parsing-supports-explicit-interface-methods
+ "./test-files/imenu-interface-property-test.cs" imenu-index
+ (let* ((class-entry (cl-caddr imenu-index))
(class-entries (cdr class-entry))
(imenu-items (mapconcat 'car class-entries " ")))
- (should (string-match-p "method string IIMenuTest.MethodName" imenu-items))
- (kill-buffer buffer)))
-
-(ert-deftest imenu-parsing-supports-namespace ()
- (let* ((find-file-hook nil) ;; avoid vc-mode file-hooks when opening!
- (buffer (find-file-read-only
"./test-files/imenu-namespace-test.cs"))
- (imenu-index (csharp--imenu-create-index-helper nil "" t t)) ;;
same line as in `csharp-imenu-create-index'.
- (ns-entry (cadr imenu-index))
+ (should (string-match-p "method string IIMenuTest.MethodName"
imenu-items))))
+
+(def-imenutest imenu-parsing-supports-namespaces
+ "./test-files/imenu-namespace-test.cs" imenu-index
+ (let* ((ns-entry (cadr imenu-index))
(ns-item (car ns-entry)))
- (should (string-match-p "namespace ImenuTest" ns-item))
- (kill-buffer buffer)))
+ (should (string-match-p "namespace ImenuTest" ns-item))))
(defvar csharp-hook1 nil)
(defvar csharp-hook2 nil)
@@ -249,7 +241,7 @@
(with-temp-buffer
(csharp-mode)
- (should-not c-mode-hook-run)))
+ (should-not c-mode-hook-run)))
(ert-deftest indentation-rules-should-be-as-specified-in-test-doc ()
(let* ((buffer (find-file "test-files/indentation-tests.cs"))
- [elpa] externals/csharp-mode 3651a40 119/459: Use cl-lib equivalent, (continued)
- [elpa] externals/csharp-mode 3651a40 119/459: Use cl-lib equivalent, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 91fff08 124/459: Fontify conversion operators definitions. Fontify base interfaces names for 'interface' and 'struct' declarations., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 9e78a26 128/459: Derive from prog-mode, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 6e3cdc1 129/459: Add a regression test, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 0a61f21 131/459: Bump version., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode f367ef6 135/459: Cleanup test-code for imenu-fixes., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 8ec64b4 136/459: Merge pull request #57 from josteink/imenu-fixes, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 8c5bae2 139/459: Fixup, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode d0d7ec3 140/459: Merge pull request #58 from josteink/compilation-mode-fixes, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 49f7342 148/459: Make future editing sane., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode ffe87f9 150/459: Tests: refactor imenu-tests,
ELPA Syncer <=
- [elpa] externals/csharp-mode b4fb58a 153/459: Update changelog., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode c314c65 157/459: Highlight text after #region or #pragma as comment, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 60e8171 159/459: Start update changelog and prepare for new version., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 8aeb816 164/459: Fix compiler warnings., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 775fafd 166/459: Make assess-package available for testing., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode acaa9bb 169/459: Make another fontification-test assess-based., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode b1e237d 172/459: Add tests, ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode c4a2dfd 176/459: Fixup tests., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 4f151a1 177/459: Fix CI by fixing byte-compilation., ELPA Syncer, 2021/08/22
- [elpa] externals/csharp-mode 4cd07f9 178/459: Clean up fontification test., ELPA Syncer, 2021/08/22