[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1013: 23.0.60; permanent-local not honored for word-wrap
From: |
Lennart Borgman (gmail) |
Subject: |
bug#1013: 23.0.60; permanent-local not honored for word-wrap |
Date: |
Mon, 22 Sep 2008 01:13:17 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 |
Lennart Borgman (gmail) wrote:
> I played a bit with making a unit test for this, see the attached file.
> This requires the ert2.el that comes with nXhtml and should be placed in
> the same subdir as nxhtmltest-suites.el.
Here is a much better way to structure the test. To test it:
- Put emacstest-suites.el in nxhtml/test/
- Put bug1013.el in nxhtml/test/inemacs/
- M-x emacstest-run
If we include ert.el + ert2.el in Emacs we could write unit tests like
this for bug reports.
Christian, any thoughts?
;;; emacstest-suites.el --- Some unit tests for Emacs
;;
;; Author: Lennart Borgman (lennart O borgman A gmail O com)
;; Created: 2008-09-21T22:34:11+0200 Sun
;; Version:
;; Last-Updated: 2008-09-22T00:36:11+0200 Sun
;; URL:
;; Keywords:
;; Compatibility:
;;
;; Features that might be required by this library:
;;
;; `button', `cl', `debug', `ert', `ert2', `ewoc', `find-func',
;; `help-fns', `help-mode', `view'.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Commentary:
;;
;; Unit tests for some Emacs bug reports.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Change log:
;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; This program 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 2, or
;; (at your option) any later version.
;;
;; This program 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 this program; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
;; Floor, Boston, MA 02110-1301, USA.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Code:
(eval-when-compile (require 'cl))
(setq debug-on-error t)
(defvar emacstest-bin
(file-name-directory (if load-file-name load-file-name buffer-file-name)))
(pushnew emacstest-bin load-path)
(require 'ert2)
(defvar emacstest-files-root
(let* ((this-dir emacstest-bin)
(root (expand-file-name "inemacs/" this-dir)))
(unless (file-accessible-directory-p root)
(error (if (file-exists-p root)
"Can't read files in test directory %s"
"Can't find test directory %s")
root))
root))
(let ((distr-in "c:/EmacsW32/nxhtml/tests/inemacs/"))
(when (file-directory-p distr-in)
(setq emacstest-files-root distr-in)))
(defun emacstest-run ()
"Run Emacs tests."
(interactive)
(setq message-log-max t)
(setq ert-test-files-root emacstest-files-root)
(let ((selector "emacs-"))
(if noninteractive
(ert-run-tests-batch selector)
(ert-kill-temp-test-buffers)
(ert-run-tests-interactively selector)
(other-window 1)
(ert-list-temp-test-buffers))))
(ert-deftest emacs-bug1013 ()
"Emacs bug 1013.
See URL
`http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1013'."
(ert-with-temp-buffer-include-file "bug1013.el"
(eval-buffer)))
(provide 'emacstest-suites)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; emacstest-suites.el ends here
;; Setup
(defvar word-wrap2 nil)
(make-variable-buffer-local 'word-wrap2)
(set-default 'word-wrap2 nil)
(defcustom word-wrap3 nil
"doc 3"
:type 'boolean)
(make-variable-buffer-local 'word-wrap3)
(set-default 'word-wrap3 nil)
(set-default 'word-wrap nil)
(put 'word-wrap 'permanent-local t)
(put 'word-wrap2 'permanent-local t)
(put 'word-wrap3 'permanent-local t)
(setq word-wrap t)
(setq word-wrap2 t)
(setq word-wrap3 t)
(kill-all-local-variables)
;; Test
(ert-should (eq (default-value 'word-wrap3) nil))
(ert-should (eq word-wrap3 t))
(ert-should (eq (default-value 'word-wrap2) nil))
(ert-should (eq word-wrap2 t))
(ert-should (eq (default-value 'word-wrap) nil))
(ert-should (eq word-wrap t))