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")