comparison tests/automated/hash-table-tests.el @ 5576:071b810ceb18

Declare labels as line where appropriate; use #'labels, not #'flet, tests. lisp/ChangeLog addition: 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * simple.el (handle-pre-motion-command-current-command-is-motion): Implement #'keysyms-equal with #'labels + (declare (inline ...)), instead of abusing macrolet to the same end. * specifier.el (let-specifier): * mule/mule-cmds.el (describe-language-environment): * mule/mule-cmds.el (set-language-environment-coding-systems): * mule/mule-x-init.el (x-use-halfwidth-roman-font): * faces.el (Face-frob-property): * keymap.el (key-sequence-list-description): * lisp-mode.el (construct-lisp-mode-menu): * loadhist.el (unload-feature): * mouse.el (default-mouse-track-check-for-activation): Declare various labels inline in dumped files when that reduces the size of the dumped image. Declaring labels inline is normally only worthwhile for inner loops and so on, but it's reasonable exercise of the related code to have these changes in core. tests/ChangeLog addition: 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el (uni-mappings): * automated/database-tests.el (delete-database-files): * automated/hash-table-tests.el (iterations): * automated/lisp-tests.el (test1): * automated/lisp-tests.el (a): * automated/lisp-tests.el (cl-floor): * automated/lisp-tests.el (foo): * automated/lisp-tests.el (list-nreverse): * automated/lisp-tests.el (needs-lexical-context): * automated/mule-tests.el (featurep): * automated/os-tests.el (original-string): * automated/os-tests.el (with): * automated/symbol-tests.el (check-weak-list-unique): Replace #'flet with #'labels where appropriate in these tests, following my own advice on style in the docstrings of those functions.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 03 Oct 2011 20:16:14 +0100
parents 308d34e9f07d
children 49c36ed998b6
comparison
equal deleted inserted replaced
5575:89cb6a66a61f 5576:071b810ceb18
143 (Assert (eq (gethash (int-to-string j) ht) nil)) 143 (Assert (eq (gethash (int-to-string j) ht) nil))
144 (Assert (eq (gethash (int-to-string j) ht 'foo) 'foo)) 144 (Assert (eq (gethash (int-to-string j) ht 'foo) 'foo))
145 (Assert (= (hash-table-count ht) (decf count)))))) 145 (Assert (= (hash-table-count ht) (decf count))))))
146 146
147 (let ((iterations 5) (one 1.0) (two 2.0)) 147 (let ((iterations 5) (one 1.0) (two 2.0))
148 (flet ((check-copy 148 (labels ((check-copy
149 (ht) 149 (ht)
150 (let ((copy-of-ht (copy-hash-table ht))) 150 (let ((copy-of-ht (copy-hash-table ht)))
151 (Assert (equal ht copy-of-ht)) 151 (Assert (equal ht copy-of-ht))
152 (Assert (not (eq ht copy-of-ht))) 152 (Assert (not (eq ht copy-of-ht)))
153 (Assert (eq (hash-table-count ht) (hash-table-count copy-of-ht))) 153 (Assert (eq (hash-table-count ht)
154 (Assert (eq (hash-table-type ht) (hash-table-type copy-of-ht))) 154 (hash-table-count copy-of-ht)))
155 (Assert (eq (hash-table-size ht) (hash-table-size copy-of-ht))) 155 (Assert (eq (hash-table-type ht)
156 (Assert (eql (hash-table-rehash-size ht) (hash-table-rehash-size copy-of-ht))) 156 (hash-table-type copy-of-ht)))
157 (Assert (eql (hash-table-rehash-threshold ht) (hash-table-rehash-threshold copy-of-ht)))))) 157 (Assert (eq (hash-table-size ht)
158 (hash-table-size copy-of-ht)))
159 (Assert (eql (hash-table-rehash-size ht)
160 (hash-table-rehash-size copy-of-ht)))
161 (Assert (eql (hash-table-rehash-threshold ht)
162 (hash-table-rehash-threshold copy-of-ht))))))
158 163
159 (let ((ht (make-hash-table :size 100 :rehash-threshold .6 :test 'eq))) 164 (let ((ht (make-hash-table :size 100 :rehash-threshold .6 :test 'eq)))
160 (dotimes (j iterations) 165 (dotimes (j iterations)
161 (puthash (+ one 0.0) t ht) 166 (puthash (+ one 0.0) t ht)
162 (puthash (+ two 0.0) t ht) 167 (puthash (+ two 0.0) t ht)