[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 5ef598f 05/11: Refactor tests for setups and reused fixtur
From: |
Jackson Ray Hamilton |
Subject: |
[elpa] master 5ef598f 05/11: Refactor tests for setups and reused fixtures. |
Date: |
Sat, 14 Mar 2015 20:21:42 +0000 |
branch: master
commit 5ef598fcd0c064f2a1bfc63b91950050ae717f8a
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>
Refactor tests for setups and reused fixtures.
---
test/context-coloring-test.el | 73 +++++++++++++++++-----------------------
1 files changed, 31 insertions(+), 42 deletions(-)
diff --git a/test/context-coloring-test.el b/test/context-coloring-test.el
index e8d6474..7ddf51d 100644
--- a/test/context-coloring-test.el
+++ b/test/context-coloring-test.el
@@ -114,7 +114,7 @@ instantiated in SETUP."
(funcall callback done-with-test))))
setup))
-(defmacro context-coloring-test-js2-mode (fixture &rest body)
+(defmacro context-coloring-test-js2-mode (fixture setup &rest body)
"Use FIXTURE as the subject matter for test logic in BODY."
`(context-coloring-test-with-fixture
,fixture
@@ -122,16 +122,20 @@ instantiated in SETUP."
(setq js2-mode-show-parse-errors nil)
(setq js2-mode-show-strict-warnings nil)
(js2-mode)
+ (when ,setup (funcall ,setup))
(context-coloring-mode)
,@body))
-(defmacro context-coloring-test-deftest-js-mode (name)
+(cl-defmacro context-coloring-test-deftest-js-mode (name &key fixture-name)
"Define an asynchronous test for `js-mode' with the name NAME
in the typical format."
+ (declare (indent defun))
(let ((test-name (intern (format "context-coloring-test-js-mode-%s" name)))
- (fixture (format "./fixtures/%s.js" name))
+ (fixture (format "./fixtures/%s.js" (or fixture-name name)))
(function-name (intern-soft
- (format "context-coloring-test-js-%s" name))))
+ (format "context-coloring-test-js-%s" name)))
+ (setup-function-name (intern-soft
+ (format "context-coloring-test-js-%s-setup"
name))))
`(ert-deftest-async ,test-name (done)
(context-coloring-test-js-mode
,fixture
@@ -139,18 +143,23 @@ in the typical format."
(unwind-protect
(,function-name)
(funcall teardown))
- (funcall done))))))
+ (funcall done))
+ ',setup-function-name))))
-(defmacro context-coloring-test-deftest-js2-mode (name)
+(cl-defmacro context-coloring-test-deftest-js2-mode (name &key fixture-name)
"Define a test for `js2-mode' with the name NAME in the typical
format."
+ (declare (indent defun))
(let ((test-name (intern (format "context-coloring-test-js2-mode-%s" name)))
- (fixture (format "./fixtures/%s.js" name))
+ (fixture (format "./fixtures/%s.js" (or fixture-name name)))
(function-name (intern-soft
- (format "context-coloring-test-js-%s" name))))
+ (format "context-coloring-test-js-%s" name)))
+ (setup-function-name (intern-soft
+ (format "context-coloring-test-js-%s-setup"
name))))
`(ert-deftest ,test-name ()
(context-coloring-test-js2-mode
,fixture
+ ',setup-function-name
(,function-name)))))
@@ -700,23 +709,12 @@ see that function."
(context-coloring-test-assert-region-string 20 32)
(context-coloring-test-assert-region-level 32 33 0))
-(ert-deftest-async context-coloring-test-js-mode-comments-and-strings (done)
- (context-coloring-test-js-mode
- "./fixtures/comments-and-strings.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-comments-and-strings)
- (funcall teardown))
- (funcall done))
- (lambda ()
- (setq context-coloring-comments-and-strings t))))
-
-(ert-deftest context-coloring-test-js2-mode-comments-and-strings ()
- (context-coloring-test-js2-mode
- "./fixtures/comments-and-strings.js"
- (setq context-coloring-comments-and-strings t)
- (context-coloring-colorize)
- (context-coloring-test-js-comments-and-strings)))
+(defun context-coloring-test-js-comments-and-strings-setup ()
+ "Setup comments-and-strings."
+ (setq context-coloring-comments-and-strings t))
+
+(context-coloring-test-deftest-js-mode comments-and-strings)
+(context-coloring-test-deftest-js2-mode comments-and-strings)
(defun context-coloring-test-js-syntactic-comments ()
"Test fixtures/comments-and-strings.js."
@@ -726,23 +724,14 @@ see that function."
(context-coloring-test-assert-region-comment 12 19)
(context-coloring-test-assert-region-level 20 33 0))
-(ert-deftest-async context-coloring-test-js-mode-syntactic-comments (done)
- (context-coloring-test-js-mode
- "./fixtures/comments-and-strings.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-syntactic-comments)
- (funcall teardown))
- (funcall done))
- (lambda ()
- (setq context-coloring-syntactic-comments t))))
-
-(ert-deftest context-coloring-test-js2-mode-syntactic-comments ()
- (context-coloring-test-js2-mode
- "./fixtures/comments-and-strings.js"
- (setq context-coloring-syntactic-comments t)
- (context-coloring-colorize)
- (context-coloring-test-js-syntactic-comments)))
+(defun context-coloring-test-js-syntactic-comments-setup ()
+ "Setup syntactic comments."
+ (setq context-coloring-syntactic-comments t))
+
+(context-coloring-test-deftest-js-mode syntactic-comments
+ :fixture-name comments-and-strings)
+(context-coloring-test-deftest-js2-mode syntactic-comments
+ :fixture-name comments-and-strings)
(provide 'context-coloring-test)
- [elpa] master updated (b36c4b4 -> 1d1af16), Jackson Ray Hamilton, 2015/03/14
- [elpa] master 5dff74a 01/11: Cleanup., Jackson Ray Hamilton, 2015/03/14
- [elpa] master 6d0ed0e 03/11: Cleanup dependency management., Jackson Ray Hamilton, 2015/03/14
- [elpa] master 32f67a7 02/11: Cleanup., Jackson Ray Hamilton, 2015/03/14
- [elpa] master ba015ce 04/11: Add option to only colorize comments specially., Jackson Ray Hamilton, 2015/03/14
- [elpa] master 5ef598f 05/11: Refactor tests for setups and reused fixtures.,
Jackson Ray Hamilton <=
- [elpa] master 7e208ed 08/11: Use the better zenburn red., Jackson Ray Hamilton, 2015/03/14
- [elpa] master bde8c44 06/11: Add syntactic strings option., Jackson Ray Hamilton, 2015/03/14
- [elpa] master b83709f 07/11: Deprecate `comments-and-strings'., Jackson Ray Hamilton, 2015/03/14
- [elpa] master f062d5a 10/11: Version 6.1.0., Jackson Ray Hamilton, 2015/03/14
- [elpa] master 4849fd4 09/11: Update options documentation., Jackson Ray Hamilton, 2015/03/14
- [elpa] master 1d1af16 11/11: Merge commit 'f062d5a55496e22cf89f2ef9778a24a840a5a68e' from context-coloring, Jackson Ray Hamilton, 2015/03/14