]> git.eshelyaron.com Git - emacs.git/commitdiff
Add some tests for fns.c
authorStefan Kangas <stefan@marxist.se>
Wed, 20 Oct 2021 01:23:28 +0000 (03:23 +0200)
committerStefan Kangas <stefan@marxist.se>
Wed, 20 Oct 2021 01:31:01 +0000 (03:31 +0200)
* test/src/fns-tests.el (fns-tests-identity, fns-tests-random)
(fns-tests-length, fns-tests-safe-length)
(fns-tests-string-bytes): New tests.

test/src/fns-tests.el

index 2d641cc311114968e6d5e3fbdc9d9569b9c8769f..3dc2e7b3ec8513c2516980e8f79a8be4bccb47b8 100644 (file)
 
 (require 'cl-lib)
 
+(ert-deftest fns-tests-identity ()
+  (let ((num 12345)) (should (eq (identity num) num)))
+  (let ((str "foo")) (should (eq (identity str) str)))
+  (let ((lst '(11))) (should (eq (identity lst) lst))))
+
+(ert-deftest fns-tests-random ()
+  (should (integerp (random)))
+  (should (>= (random 10) 0))
+  (should (< (random 10) 10)))
+
+(ert-deftest fns-tests-length ()
+  (should (= (length nil) 0))
+  (should (= (length '(1 2 3)) 3))
+  (should (= (length '[1 2 3]) 3))
+  (should (= (length "foo") 3))
+  (should-error (length t)))
+
+(ert-deftest fns-tests-safe-length ()
+  (should (= (safe-length '(1 2 3)) 3)))
+
+(ert-deftest fns-tests-string-bytes ()
+  (should (= (string-bytes "abc") 3)))
+
 ;; Test that equality predicates work correctly on NaNs when combined
 ;; with hash tables based on those predicates.  This was not the case
 ;; for eql in Emacs 26.