Mercurial > hg > xemacs-beta
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) |