From cde856bd6c5cb21df66cf42f473402ab8c743e36 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Simen=20Heggest=C3=B8yl?= Date: Fri, 15 May 2020 20:27:19 +0200 Subject: [PATCH] Use lexical-binding in autoconf.el and add tests * lisp/progmodes/autoconf.el: Use lexical-binding. * test/lisp/progmodes/autoconf-tests.el: New file with tests for autoconf.el. --- lisp/progmodes/autoconf.el | 2 +- test/lisp/progmodes/autoconf-tests.el | 55 +++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 test/lisp/progmodes/autoconf-tests.el diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el index 5d5811b47d1..d12bed7e27d 100644 --- a/lisp/progmodes/autoconf.el +++ b/lisp/progmodes/autoconf.el @@ -1,4 +1,4 @@ -;;; autoconf.el --- mode for editing Autoconf configure.ac files +;;; autoconf.el --- mode for editing Autoconf configure.ac files -*- lexical-binding: t; -*- ;; Copyright (C) 2000-2020 Free Software Foundation, Inc. diff --git a/test/lisp/progmodes/autoconf-tests.el b/test/lisp/progmodes/autoconf-tests.el new file mode 100644 index 00000000000..63cf2889ee2 --- /dev/null +++ b/test/lisp/progmodes/autoconf-tests.el @@ -0,0 +1,55 @@ +;;; autoconf-tests.el --- Tests for autoconf.el -*- lexical-binding: t; -*- + +;; Copyright (C) 2020 Free Software Foundation, Inc. + +;; Author: Simen Heggestøyl +;; Keywords: + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +(require 'autoconf) +(require 'ert) + +(ert-deftest autoconf-tests-current-defun-function-define () + (with-temp-buffer + (insert "AC_DEFINE(HAVE_RSVG, 1, [Define to 1 if using librsvg.])") + (goto-char (point-min)) + (should-not (autoconf-current-defun-function)) + (forward-char 10) + (should (equal (autoconf-current-defun-function) "HAVE_RSVG")))) + +(ert-deftest autoconf-tests-current-defun-function-subst () + (with-temp-buffer + (insert "AC_SUBST(srcdir)") + (goto-char (point-min)) + (should-not (autoconf-current-defun-function)) + (forward-char 9) + (should (equal (autoconf-current-defun-function) "srcdir")))) + +(ert-deftest autoconf-tests-autoconf-mode-comment-syntax () + (with-temp-buffer + (autoconf-mode) + (insert "dnl Autoconf script for GNU Emacs") + (should (nth 4 (syntax-ppss))))) + +(provide 'autoconf-tests) +;;; autoconf-tests.el ends here -- 2.39.2