Mercurial > hg > xemacs-beta
comparison tests/automated/search-tests.el @ 4907:9e7f5a77cc84
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 01 Feb 2010 01:05:28 -0600 |
parents | 6ef8256a020a e91e3e353805 |
children | efaa6cd845e5 |
comparison
equal
deleted
inserted
replaced
4906:6ef8256a020a | 4907:9e7f5a77cc84 |
---|---|
181 | 181 |
182 (Skip-Test-Unless | 182 (Skip-Test-Unless |
183 (boundp 'debug-xemacs-searches) ; normal when we have DEBUG_XEMACS | 183 (boundp 'debug-xemacs-searches) ; normal when we have DEBUG_XEMACS |
184 "not a DEBUG_XEMACS build" | 184 "not a DEBUG_XEMACS build" |
185 "checks that the algorithm chosen by #'search-forward is relatively sane" | 185 "checks that the algorithm chosen by #'search-forward is relatively sane" |
186 (let ((debug-xemacs-searches 1)) | 186 (let ((debug-xemacs-searches 1) |
187 newcase) | |
187 (with-temp-buffer | 188 (with-temp-buffer |
188 (insert "\n\nDer beruhmte deutsche Fleiss\n\n") | 189 (insert "\n\nDer beruehmte deutsche Fleiss\n\n") |
189 (goto-char (point-min)) | 190 (goto-char (point-min)) |
190 (Assert (search-forward "Fleiss")) | 191 (Assert (search-forward "Fleiss")) |
191 (delete-region (point-min) (point-max)) | 192 (delete-region (point-min) (point-max)) |
192 (insert "\n\nDer beruhmte deutsche Flei\xdf\n\n") | 193 (insert "\n\nDer ber\xfchmte deutsche Flei\xdf\n\n") |
193 (goto-char (point-min)) | 194 (goto-char (point-min)) |
194 (Assert (search-forward "Flei\xdf")) | 195 (Assert (search-forward "Flei\xdf")) |
195 (Assert-eq 'boyer-moore search-algorithm-used) | 196 (Assert-eq 'boyer-moore search-algorithm-used) |
196 (delete-region (point-min) (point-max)) | 197 (delete-region (point-min) (point-max)) |
197 (when (featurep 'mule) | 198 (when (featurep 'mule) |
198 (insert "\n\nDer beruhmte deutsche Flei\xdf\n\n") | 199 (insert "\n\nDer ber\xfchmte deutsche Flei\xdf\n\n") |
199 (goto-char (point-min)) | 200 (goto-char (point-min)) |
200 (Assert | 201 (Assert |
201 (search-forward (format "Fle%c\xdf" | 202 (search-forward (format "Fle%c\xdf" |
202 (make-char 'latin-iso8859-9 #xfd)))) | 203 (make-char 'latin-iso8859-9 #xfd)))) |
203 (Assert-eq 'boyer-moore search-algorithm-used) | 204 (Assert-eq 'boyer-moore search-algorithm-used) |
206 (Assert (search-forward "Flei\xdf")) | 207 (Assert (search-forward "Flei\xdf")) |
207 (Assert-eq 'simple-search search-algorithm-used) | 208 (Assert-eq 'simple-search search-algorithm-used) |
208 (goto-char (point-min)) | 209 (goto-char (point-min)) |
209 (Assert (search-forward (format "Fle%c\xdf" | 210 (Assert (search-forward (format "Fle%c\xdf" |
210 (make-char 'latin-iso8859-9 #xfd)))) | 211 (make-char 'latin-iso8859-9 #xfd)))) |
211 (Assert-eq 'simple-search search-algorithm-used))))) | 212 (Assert-eq 'simple-search search-algorithm-used) |
212 | 213 (setq newcase (copy-case-table (standard-case-table))) |
214 (put-case-table-pair (make-char 'ethiopic #x23 #x23) | |
215 (make-char 'ethiopic #x23 #x25) | |
216 newcase) | |
217 (with-case-table | |
218 ;; Check that when a multidimensional character has case and two | |
219 ;; repeating octets, searches involving it in the search pattern | |
220 ;; use simple-search; otherwise boyer_moore() gets confused in the | |
221 ;; construction of the stride table. | |
222 newcase | |
223 (delete-region (point-min) (point-max)) | |
224 (insert ?0) | |
225 (insert (make-char 'ethiopic #x23 #x23)) | |
226 (insert ?1) | |
227 (goto-char (point-min)) | |
228 (Assert-eql (search-forward | |
229 (string (make-char 'ethiopic #x23 #x25)) | |
230 nil t) | |
231 3) | |
232 (Assert-eq 'simple-search search-algorithm-used) | |
233 (goto-char (point-min)) | |
234 (Assert-eql (search-forward | |
235 (string (make-char 'ethiopic #x23 #x27)) | |
236 nil t) | |
237 nil) | |
238 (Assert-eq 'boyer-moore search-algorithm-used)))))) | |
213 | 239 |
214 ;; XEmacs bug of long standing. | 240 ;; XEmacs bug of long standing. |
215 | 241 |
216 (with-temp-buffer | 242 (with-temp-buffer |
217 (insert "foo\201bar") | 243 (insert "foo\201bar") |