summaryrefslogtreecommitdiff
path: root/test/lisp/progmodes/js-tests.el
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2020-10-18 02:28:22 +0200
committerStefan Kangas <stefan@marxist.se>2020-10-18 02:28:22 +0200
commit335e3cf89f28b38ac0f5c9396ad6a49ca0261180 (patch)
tree5a059e889c327a7ac74cbc5743d746f1746df375 /test/lisp/progmodes/js-tests.el
parentf287fb45f574604f4e5cce1031cc6b73ddcccc3d (diff)
downloademacs-335e3cf89f28b38ac0f5c9396ad6a49ca0261180.tar.gz
emacs-335e3cf89f28b38ac0f5c9396ad6a49ca0261180.tar.bz2
emacs-335e3cf89f28b38ac0f5c9396ad6a49ca0261180.zip
Convert manual js indent tests to unit tests
* test/lisp/progmodes/js-tests.el (ert-x): Require. (js-deftest-indent): New macro. Use it to define tests for indenting the below files. * test/manual/indent/js-chain.js: * test/manual/indent/js-indent-align-list-continuation-nil.js: * test/manual/indent/js-indent-init-dynamic.js: * test/manual/indent/js-indent-init-t.js: * test/manual/indent/js.js: * test/manual/indent/jsx-align-gt-with-lt.jsx: * test/manual/indent/jsx-comment-string.jsx: * test/manual/indent/jsx-indent-level.jsx: * test/manual/indent/jsx-quote.jsx: * test/manual/indent/jsx-self-closing.jsx: * test/manual/indent/jsx-unclosed-1.jsx: * test/manual/indent/jsx-unclosed-2.jsx: * test/manual/indent/jsx.jsx: Move from here... * test/lisp/progmodes/js-resources/js-chain.js: * test/lisp/progmodes/js-resources/js-indent-align-list-continuation-nil.js: * test/lisp/progmodes/js-resources/js-indent-init-dynamic.js: * test/lisp/progmodes/js-resources/js-indent-init-t.js: * test/lisp/progmodes/js-resources/js.js: * test/lisp/progmodes/js-resources/jsx-align-gt-with-lt.jsx: * test/lisp/progmodes/js-resources/jsx-comment-string.jsx: * test/lisp/progmodes/js-resources/jsx-indent-level.jsx: * test/lisp/progmodes/js-resources/jsx-quote.jsx: * test/lisp/progmodes/js-resources/jsx-self-closing.jsx: * test/lisp/progmodes/js-resources/jsx-unclosed-1.jsx: * test/lisp/progmodes/js-resources/jsx-unclosed-2.jsx: * test/lisp/progmodes/js-resources/jsx.jsx: ...to here.
Diffstat (limited to 'test/lisp/progmodes/js-tests.el')
-rw-r--r--test/lisp/progmodes/js-tests.el28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/lisp/progmodes/js-tests.el b/test/lisp/progmodes/js-tests.el
index 681e51de0ed..1de2df0e85a 100644
--- a/test/lisp/progmodes/js-tests.el
+++ b/test/lisp/progmodes/js-tests.el
@@ -22,6 +22,7 @@
;;; Code:
(require 'ert)
+(require 'ert-x)
(require 'js)
(require 'syntax)
@@ -196,6 +197,33 @@ if (!/[ (:,='\"]/.test(value)) {
;; The bug was a hang.
(should t)))
+;;;; Indentation tests.
+
+(defmacro js-deftest-indent (file)
+ `(ert-deftest ,(intern (format "js-indent-test/%s" file)) ()
+ :tags '(:expensive-test)
+ (let ((buf (find-file-noselect (ert-resource-file ,file))))
+ (unwind-protect
+ (with-current-buffer buf
+ (let ((orig (buffer-string)))
+ (indent-region (point-min) (point-max))
+ (should (equal (buffer-string) orig))))
+ (kill-buffer buf)))))
+
+(js-deftest-indent "js-chain.js")
+(js-deftest-indent "js-indent-align-list-continuation-nil.js")
+(js-deftest-indent "js-indent-init-dynamic.js")
+(js-deftest-indent "js-indent-init-t.js")
+(js-deftest-indent "js.js")
+(js-deftest-indent "jsx-align-gt-with-lt.jsx")
+(js-deftest-indent "jsx-comment-string.jsx")
+(js-deftest-indent "jsx-indent-level.jsx")
+(js-deftest-indent "jsx-quote.jsx")
+(js-deftest-indent "jsx-self-closing.jsx")
+(js-deftest-indent "jsx-unclosed-1.jsx")
+(js-deftest-indent "jsx-unclosed-2.jsx")
+(js-deftest-indent "jsx.jsx")
+
(provide 'js-tests)
;;; js-tests.el ends here