aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMichal Nazarewicz2016-09-19 00:23:40 +0200
committerMichal Nazarewicz2017-02-15 16:54:06 +0100
commit5ec3a58462e99533ea5200de356302181d634d0b (patch)
treee0149bb01ac5e087cfaf3429880deebadb703b56 /test
parent0d4290650d9ec635a657ed8537cfc960b41381b9 (diff)
downloademacs-5ec3a58462e99533ea5200de356302181d634d0b.tar.gz
emacs-5ec3a58462e99533ea5200de356302181d634d0b.zip
Generate upcase and downcase tables from Unicode data (bug#24603)
Use Unicode data to generate case tables instead of mostly repeating them in lisp code. Do that in a way which maps ‘Dz’ (and similar) digraph to ‘dz’ when down- and ‘DZ’ when upcasing. https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all changes to syntax table and case tables introduced by this commit. * lisp/international/characters.el: Remove case-pairs defined with explicit Lisp code and instead use Unicode character properties. * test/src/casefiddle-tests.el (casefiddle-tests--characters, casefiddle-tests-casing): Update test cases which are now working as they should.
Diffstat (limited to 'test')
-rw-r--r--test/src/casefiddle-tests.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/test/src/casefiddle-tests.el b/test/src/casefiddle-tests.el
index 8d9cf34ee50..c752bb09172 100644
--- a/test/src/casefiddle-tests.el
+++ b/test/src/casefiddle-tests.el
@@ -73,8 +73,7 @@
73 73
74 (?Σ ?Σ ?σ ?Σ) 74 (?Σ ?Σ ?σ ?Σ)
75 (?σ ?Σ ?σ ?Σ) 75 (?σ ?Σ ?σ ?Σ)
76 ;; FIXME(bug#24603): Another broken one: 76 (?ς ?Σ ?ς ?Σ)
77 ;;(?ς ?Σ ?ς ?Σ)
78 77
79 (?Ⅷ ?Ⅷ ?ⅷ ?Ⅷ) 78 (?Ⅷ ?Ⅷ ?ⅷ ?Ⅷ)
80 (?ⅷ ?Ⅷ ?ⅷ ?Ⅷ))) 79 (?ⅷ ?Ⅷ ?ⅷ ?Ⅷ)))
@@ -196,7 +195,6 @@
196 ;;("fish" "FIsh" "fish" "Fish" "Fish") 195 ;;("fish" "FIsh" "fish" "Fish" "Fish")
197 ;;("Straße" "STRASSE" "straße" "Straße" "Straße") 196 ;;("Straße" "STRASSE" "straße" "Straße" "Straße")
198 ;;("ΌΣΟΣ" "ΌΣΟΣ" "όσος" "Όσος" "Όσος") 197 ;;("ΌΣΟΣ" "ΌΣΟΣ" "όσος" "Όσος" "Όσος")
199 ;;("όσος" "ΌΣΟΣ" "όσος" "Όσος" "Όσος")
200 ;; And here’s what is actually happening: 198 ;; And here’s what is actually happening:
201 ("DŽUNGLA" "DŽUNGLA" "džungla" "DŽungla" "DŽUNGLA") 199 ("DŽUNGLA" "DŽUNGLA" "džungla" "DŽungla" "DŽUNGLA")
202 ("Džungla" "DžUNGLA" "džungla" "Džungla" "Džungla") 200 ("Džungla" "DžUNGLA" "džungla" "Džungla" "Džungla")
@@ -205,7 +203,8 @@
205 ("fish" "fiSH" "fish" "fish" "fish") 203 ("fish" "fiSH" "fish" "fish" "fish")
206 ("Straße" "STRAßE" "straße" "Straße" "Straße") 204 ("Straße" "STRAßE" "straße" "Straße" "Straße")
207 ("ΌΣΟΣ" "ΌΣΟΣ" "όσοσ" "Όσοσ" "ΌΣΟΣ") 205 ("ΌΣΟΣ" "ΌΣΟΣ" "όσοσ" "Όσοσ" "ΌΣΟΣ")
208 ("όσος" "ΌΣΟς" "όσος" "Όσος" "Όσος")))))) 206
207 ("όσος" "ΌΣΟΣ" "όσος" "Όσος" "Όσος"))))))
209 208
210(ert-deftest casefiddle-tests-casing-byte8 () 209(ert-deftest casefiddle-tests-casing-byte8 ()
211 (should-not 210 (should-not