;;; ert-tests.el --- ERT's self-tests
-;; Copyright (C) 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2008, 2010-2012 Free Software Foundation, Inc.
;; Author: Christian Ohler <ohler@gnu.org>
:form (error "Foo")
:condition (error "Foo")
:fail-reason
- "the error signalled did not have the expected type"))))))
+ "the error signaled did not have the expected type"))))))
;; Error of the expected type.
(let* ((error nil)
(test (make-ert-test
:form (signal arith-error nil)
:condition (arith-error)
:fail-reason
- "the error signalled did not have the expected type"))))))
+ "the error signaled did not have the expected type"))))))
(let ((test (make-ert-test
:body (lambda ()
(should-error (signal 'arith-error nil)
:form (signal arith-error nil)
:condition (arith-error)
:fail-reason
- "the error signalled did not have the expected type"))))))
+ "the error signaled did not have the expected type"))))))
(let ((test (make-ert-test
:body (lambda ()
(should-error (signal 'singularity-error nil)
:form (signal singularity-error nil)
:condition (singularity-error)
:fail-reason
- "the error signalled was a subtype of the expected type")))))
+ "the error signaled was a subtype of the expected type")))))
))
(defmacro ert--test-my-list (&rest args)
(should (equal (ert--string-first-line "foo\nbar") "foo"))
(should (equal (ert--string-first-line " foo\nbar\nbaz\n") " foo")))
-(ert-deftest ert-test-explain-not-equal ()
- (should (equal (ert--explain-not-equal nil 'foo)
+(ert-deftest ert-test-explain-equal ()
+ (should (equal (ert--explain-equal nil 'foo)
'(different-atoms nil foo)))
- (should (equal (ert--explain-not-equal '(a a) '(a b))
+ (should (equal (ert--explain-equal '(a a) '(a b))
'(list-elt 1 (different-atoms a b))))
- (should (equal (ert--explain-not-equal '(1 48) '(1 49))
+ (should (equal (ert--explain-equal '(1 48) '(1 49))
'(list-elt 1 (different-atoms (48 "#x30" "?0")
(49 "#x31" "?1")))))
- (should (equal (ert--explain-not-equal 'nil '(a))
+ (should (equal (ert--explain-equal 'nil '(a))
'(different-types nil (a))))
- (should (equal (ert--explain-not-equal '(a b c) '(a b c d))
+ (should (equal (ert--explain-equal '(a b c) '(a b c d))
'(proper-lists-of-different-length 3 4 (a b c) (a b c d)
first-mismatch-at 3)))
(let ((sym (make-symbol "a")))
- (should (equal (ert--explain-not-equal 'a sym)
+ (should (equal (ert--explain-equal 'a sym)
`(different-symbols-with-the-same-name a ,sym)))))
-(ert-deftest ert-test-explain-not-equal-improper-list ()
- (should (equal (ert--explain-not-equal '(a . b) '(a . c))
+(ert-deftest ert-test-explain-equal-improper-list ()
+ (should (equal (ert--explain-equal '(a . b) '(a . c))
'(cdr (different-atoms b c)))))
+(ert-deftest ert-test-explain-equal-keymaps ()
+ ;; This used to be very slow.
+ (should (equal (make-keymap) (make-keymap)))
+ (should (equal (make-sparse-keymap) (make-sparse-keymap))))
+
(ert-deftest ert-test-significant-plist-keys ()
(should (equal (ert--significant-plist-keys '()) '()))
(should (equal (ert--significant-plist-keys '(a b c d e f c g p q r nil s t))
(should (equal (ert--abbreviate-string "bar" 1 t) "r"))
(should (equal (ert--abbreviate-string "bar" 0 t) "")))
-(ert-deftest ert-test-explain-not-equal-string-properties ()
+(ert-deftest ert-test-explain-equal-string-properties ()
(should
- (equal (ert--explain-not-equal-including-properties #("foo" 0 1 (a b))
- "foo")
+ (equal (ert--explain-equal-including-properties #("foo" 0 1 (a b))
+ "foo")
'(char 0 "f"
(different-properties-for-key a (different-atoms b nil))
context-before ""
context-after "oo")))
- (should (equal (ert--explain-not-equal-including-properties
+ (should (equal (ert--explain-equal-including-properties
#("foo" 1 3 (a b))
#("goo" 0 1 (c d)))
'(array-elt 0 (different-atoms (?f "#x66" "?f")
(?g "#x67" "?g")))))
(should
- (equal (ert--explain-not-equal-including-properties
+ (equal (ert--explain-equal-including-properties
#("foo" 0 1 (a b c d) 1 3 (a b))
#("foo" 0 1 (c d a b) 1 2 (a foo)))
'(char 1 "o" (different-properties-for-key a (different-atoms b foo))