[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 450aa85 236/271: Use macros to clean up tests.
From: |
Jackson Ray Hamilton |
Subject: |
[elpa] master 450aa85 236/271: Use macros to clean up tests. |
Date: |
Thu, 05 Feb 2015 18:31:33 +0000 |
branch: master
commit 450aa8533d1b39d6f595f5dc7072b79c9f177ef4
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>
Use macros to clean up tests.
---
test/context-coloring-test.el | 149 +++++++++++++++--------------------------
1 files changed, 55 insertions(+), 94 deletions(-)
diff --git a/test/context-coloring-test.el b/test/context-coloring-test.el
index 9137437..2f7389a 100644
--- a/test/context-coloring-test.el
+++ b/test/context-coloring-test.el
@@ -1,19 +1,18 @@
;; -*- lexical-binding: t; -*-
+;;; Test running
+
(defconst context-coloring-test-path
(file-name-directory (or load-file-name buffer-file-name)))
(defun context-coloring-test-resolve-path (path)
(expand-file-name path context-coloring-test-path))
-(defun get-string-from-file (path)
+(defun context-coloring-test-read-file (path)
(with-temp-buffer
- (insert-file-contents path)
+ (insert-file-contents (context-coloring-test-resolve-path path))
(buffer-string)))
-(defun context-coloring-test-read-file (path)
- (get-string-from-file (context-coloring-test-resolve-path path)))
-
(defun context-coloring-test-setup ()
(setq context-coloring-comments-and-strings nil))
@@ -65,6 +64,9 @@ to run arbitrary code before the mode is invoked."
(context-coloring-test-cleanup)
(funcall done-with-temp-buffer))))))
+
+;;; Test defining
+
(defun context-coloring-test-js-mode (fixture callback &optional setup)
(context-coloring-test-with-fixture-async
fixture
@@ -86,6 +88,31 @@ to run arbitrary code before the mode is invoked."
(context-coloring-mode)
,@body))
+(defmacro context-coloring-test-deftest-js-mode (name)
+ (let ((test-name (intern (format "context-coloring-test-js-mode-%s" name)))
+ (fixture (format "./fixtures/%s.js" name))
+ (function-name (intern-soft (format "context-coloring-test-js-%s"
name))))
+ `(ert-deftest-async ,test-name (done)
+ (context-coloring-test-js-mode
+ ,fixture
+ (lambda (teardown)
+ (unwind-protect
+ (,function-name)
+ (funcall teardown))
+ (funcall done))))))
+
+(defmacro context-coloring-test-deftest-js2-mode (name)
+ (let ((test-name (intern (format "context-coloring-test-js2-mode-%s" name)))
+ (fixture (format "./fixtures/%s.js" name))
+ (function-name (intern-soft (format "context-coloring-test-js-%s"
name))))
+ `(ert-deftest ,test-name ()
+ (context-coloring-test-js2-mode
+ ,fixture
+ (,function-name)))))
+
+
+;;; Assertion functions
+
(defmacro context-coloring-test-assert-region (&rest body)
`(let ((i 0)
(length (- end start)))
@@ -151,13 +178,6 @@ to run arbitrary code before the mode is invoked."
(let ((message (car (nthcdr (- (length messages) 2) messages))))
(should (equal message expected))))))
-(ert-deftest context-coloring-test-unsupported-mode ()
- (context-coloring-test-with-fixture
- "./fixtures/function-scopes.js"
- (context-coloring-mode)
- (context-coloring-test-assert-message
- "Context coloring is not available for this major mode")))
-
(defun context-coloring-test-assert-face (level foreground)
(let* ((face (context-coloring-face-symbol level))
actual-foreground)
@@ -172,6 +192,16 @@ to run arbitrary code before the mode is invoked."
level
foreground actual-foreground)))))
+
+;;; The tests
+
+(ert-deftest context-coloring-test-unsupported-mode ()
+ (context-coloring-test-with-fixture
+ "./fixtures/function-scopes.js"
+ (context-coloring-mode)
+ (context-coloring-test-assert-message
+ "Context coloring is not available for this major mode")))
+
(ert-deftest context-coloring-test-set-colors ()
;; This test has an irreversible side-effect in that it defines faces beyond
;; 7. Faces 0 through 7 are reset to their default states, so it might not
@@ -212,38 +242,16 @@ to run arbitrary code before the mode is invoked."
(context-coloring-test-assert-region-level 82 87 2)
(context-coloring-test-assert-region-level 87 89 1))
-(ert-deftest-async context-coloring-test-js-mode-function-scopes (done)
- (context-coloring-test-js-mode
- "./fixtures/function-scopes.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-function-scopes)
- (funcall teardown))
- (funcall done))))
-
-(ert-deftest context-coloring-test-js2-mode-function-scopes ()
- (context-coloring-test-js2-mode
- "./fixtures/function-scopes.js"
- (context-coloring-test-js-function-scopes)))
+(context-coloring-test-deftest-js-mode function-scopes)
+(context-coloring-test-deftest-js2-mode function-scopes)
(defun context-coloring-test-js-global ()
(context-coloring-test-assert-region-level 20 28 1)
(context-coloring-test-assert-region-level 28 35 0)
(context-coloring-test-assert-region-level 35 41 1))
-(ert-deftest-async context-coloring-test-js-mode-global (done)
- (context-coloring-test-js-mode
- "./fixtures/global.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-global)
- (funcall teardown))
- (funcall done))))
-
-(ert-deftest context-coloring-test-js2-mode-global ()
- (context-coloring-test-js2-mode
- "./fixtures/global.js"
- (context-coloring-test-js-global)))
+(context-coloring-test-deftest-js-mode global)
+(context-coloring-test-deftest-js2-mode global)
(defun context-coloring-test-js-block-scopes ()
(context-coloring-test-assert-region-level 20 64 1)
@@ -254,10 +262,7 @@ to run arbitrary code before the mode is invoked."
(context-coloring-test-assert-region-level 41 42 1)
(context-coloring-test-assert-region-level 42 64 2))
-(ert-deftest context-coloring-test-js2-mode-block-scopes ()
- (context-coloring-test-js2-mode
- "./fixtures/block-scopes.js"
- (context-coloring-test-js-block-scopes)))
+(context-coloring-test-deftest-js2-mode block-scopes)
(defun context-coloring-test-js-catch ()
(context-coloring-test-assert-region-level 20 27 1)
@@ -269,36 +274,14 @@ to run arbitrary code before the mode is invoked."
(context-coloring-test-assert-region-level 102 117 3)
(context-coloring-test-assert-region-level 117 123 2))
-(ert-deftest-async context-coloring-test-js-mode-catch (done)
- (context-coloring-test-js-mode
- "./fixtures/catch.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-catch)
- (funcall teardown))
- (funcall done))))
-
-(ert-deftest context-coloring-test-js2-mode-catch ()
- (context-coloring-test-js2-mode
- "./fixtures/catch.js"
- (context-coloring-test-js-catch)))
+(context-coloring-test-deftest-js-mode catch)
+(context-coloring-test-deftest-js2-mode catch)
(defun context-coloring-test-js-key-names ()
(context-coloring-test-assert-region-level 20 63 1))
-(ert-deftest-async context-coloring-test-js-mode-key-names (done)
- (context-coloring-test-js-mode
- "./fixtures/key-names.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-key-names)
- (funcall teardown))
- (funcall done))))
-
-(ert-deftest context-coloring-test-js2-mode-key-names ()
- (context-coloring-test-js2-mode
- "./fixtures/key-names.js"
- (context-coloring-test-js-key-names)))
+(context-coloring-test-deftest-js-mode key-names)
+(context-coloring-test-deftest-js2-mode key-names)
(defun context-coloring-test-js-property-lookup ()
(context-coloring-test-assert-region-level 20 26 0)
@@ -308,36 +291,14 @@ to run arbitrary code before the mode is invoked."
(context-coloring-test-assert-region-level 57 63 0)
(context-coloring-test-assert-region-level 63 74 1))
-(ert-deftest-async context-coloring-test-js-mode-property-lookup (done)
- (context-coloring-test-js-mode
- "./fixtures/property-lookup.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-property-lookup)
- (funcall teardown))
- (funcall done))))
-
-(ert-deftest context-coloring-test-js2-mode-property-lookup ()
- (context-coloring-test-js2-mode
- "./fixtures/property-lookup.js"
- (context-coloring-test-js-property-lookup)))
+(context-coloring-test-deftest-js-mode property-lookup)
+(context-coloring-test-deftest-js2-mode property-lookup)
(defun context-coloring-test-js-key-values ()
(context-coloring-test-assert-region-level 78 79 1))
-(ert-deftest-async context-coloring-test-js-mode-key-values (done)
- (context-coloring-test-js-mode
- "./fixtures/key-values.js"
- (lambda (teardown)
- (unwind-protect
- (context-coloring-test-js-key-values)
- (funcall teardown))
- (funcall done))))
-
-(ert-deftest context-coloring-test-js2-mode-key-values ()
- (context-coloring-test-js2-mode
- "./fixtures/key-values.js"
- (context-coloring-test-js-key-values)))
+(context-coloring-test-deftest-js-mode key-values)
+(context-coloring-test-deftest-js2-mode key-values)
(defun context-coloring-test-js-comments-and-strings ()
(context-coloring-test-assert-region-comment-delimiter 1 4)
- [elpa] master 9a883e2 217/271: Version 2.1.0., (continued)
- [elpa] master 9a883e2 217/271: Version 2.1.0., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 34fb7e9 267/271: Fix readme link., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 9fdc037 243/271: Merge branch 'develop', Jackson Ray Hamilton, 2015/02/05
- [elpa] master 7001dce 201/271: Use js2-node-top-level-decl-p as a fast track., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 221b583 156/271: Update hooking strategy., Jackson Ray Hamilton, 2015/02/05
- [elpa] master e2ee311 183/271: Fix timer existence check., Jackson Ray Hamilton, 2015/02/05
- [elpa] master a2ba1ef 213/271: Version 2.0.1., Jackson Ray Hamilton, 2015/02/05
- [elpa] master bef41e1 205/271: Merge branch 'feature/optimize-js2-mode' into develop, Jackson Ray Hamilton, 2015/02/05
- [elpa] master a14be3c 270/271: Merge commit 'fedf88552990afa269366dfa4c3f5af6d1cdb7c2' from context-coloring, Jackson Ray Hamilton, 2015/02/05
- [elpa] master 32fa415 226/271: Use `font-lock' for comments and strings., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 450aa85 236/271: Use macros to clean up tests.,
Jackson Ray Hamilton <=
- [elpa] master 555820b 247/271: Merge branch 'master' into develop, Jackson Ray Hamilton, 2015/02/05
- [elpa] master 43bb3c1 261/271: Remove unnecessary file from .elpaignore., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 195fbe7 196/271: Improve assertion message., Jackson Ray Hamilton, 2015/02/05
- [elpa] master d82f357 199/271: Merge branch 'feature/name-nodes' into develop, Jackson Ray Hamilton, 2015/02/05
- [elpa] master 310aca4 228/271: Use `save-excursion' before fontifying., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 5cc5224 249/271: Update sentence spacing., Jackson Ray Hamilton, 2015/02/05
- [elpa] master de8eacd 204/271: Update benchmarks in readme., Jackson Ray Hamilton, 2015/02/05
- [elpa] master f15c193 189/271: Escape., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 31ee972 197/271: Improve property lookup test., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 3d034f9 262/271: Merge branch 'develop', Jackson Ray Hamilton, 2015/02/05