]> git.eshelyaron.com Git - emacs.git/commitdiff
Add some char-table tests
authorStefan Kangas <stefan@marxist.se>
Wed, 30 Dec 2020 07:29:38 +0000 (08:29 +0100)
committerStefan Kangas <stefan@marxist.se>
Wed, 30 Dec 2020 07:32:36 +0000 (08:32 +0100)
* test/src/chartab-tests.el (chartab-test-char-table-p)
(chartab-test-char-table-subtype)
(chartab-test-char-table-parent)
(chartab-test-char-table-extra-slot): New tests.

test/src/chartab-tests.el

index 4d52dc367c8db05e579b0aa466fcd66160ea1edd..0a8d8bcdf7d8a310dbd2ece9b523b41f5f232e1a 100644 (file)
           (#xe0e00 . #xe0ef6)
           )))
 
+(ert-deftest chartab-test-char-table-p ()
+  (should (char-table-p (make-char-table 'foo)))
+  (should (not (char-table-p (make-hash-table)))))
+
+(ert-deftest chartab-test-char-table-subtype ()
+  (should (eq (char-table-subtype (make-char-table 'foo)) 'foo)))
+
+(ert-deftest chartab-test-char-table-parent ()
+  (should (eq (char-table-parent (make-char-table 'foo)) nil))
+  (let ((parent (make-char-table 'foo))
+        (child (make-char-table 'bar)))
+    (set-char-table-parent child parent)
+    (should (eq (char-table-parent child) parent))))
+
+(ert-deftest chartab-test-char-table-extra-slot ()
+  ;; Use any type with extra slots, e.g. 'case-table.
+  (let ((tbl (make-char-table 'case-table)))
+    (set-char-table-extra-slot tbl 1 'bar)
+    (char-table-extra-slot tbl 1)))
+
 (provide 'chartab-tests)
 ;;; chartab-tests.el ends here