postgresql/contrib/unaccent/expected/unaccent.out
Michael Paquier e3dd7c06e6 Simplify a bit the special rules generating unaccent.rules
As noted by Thomas Munro, CLDR 36 has added SOUND RECORDING COPYRIGHT
(U+2117), and we use CLDR 41, so this can be removed from the set of
special cases.

The set of regression tests is expanded for degree signs, which are two
of the special cases, and a fancy case with U+210C in Latin-ASCII.xml
that we have discovered about when diving into what could be done for
Cyrillic characters (this last part is material for a future patch, not
tackled yet).

While on it, some of the assertions of generate_unaccent_rules.py are
expanded to report the codepoint on which a failure is found, something
useful for debugging.

Extracted from a larger patch by the same author.

Author: Przemysław Sztoch
Discussion: https://postgr.es/m/8478da0d-3b61-d24f-80b4-ce2f5e971c60@sztoch.pl
2022-07-05 16:17:51 +09:00

144 lines
2.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CREATE EXTENSION unaccent;
-- must have a UTF8 database
SELECT getdatabaseencoding();
getdatabaseencoding
---------------------
UTF8
(1 row)
SET client_encoding TO 'UTF8';
SELECT unaccent('foobar');
unaccent
----------
foobar
(1 row)
SELECT unaccent('ёлка');
unaccent
----------
елка
(1 row)
SELECT unaccent('ЁЖИК');
unaccent
----------
ЕЖИК
(1 row)
SELECT unaccent('˃˖˗˜');
unaccent
----------
>+-~
(1 row)
SELECT unaccent('À'); -- Remove combining diacritical 0x0300
unaccent
----------
A
(1 row)
SELECT unaccent('℃℉'); -- degree signs
unaccent
----------
°C°F
(1 row)
SELECT unaccent('℗'); -- sound recording copyright
unaccent
----------
(P)
(1 row)
SELECT unaccent('unaccent', 'foobar');
unaccent
----------
foobar
(1 row)
SELECT unaccent('unaccent', 'ёлка');
unaccent
----------
елка
(1 row)
SELECT unaccent('unaccent', 'ЁЖИК');
unaccent
----------
ЕЖИК
(1 row)
SELECT unaccent('unaccent', '˃˖˗˜');
unaccent
----------
>+-~
(1 row)
SELECT unaccent('unaccent', 'À');
unaccent
----------
A
(1 row)
SELECT unaccent('unaccent', '℃℉');
unaccent
----------
°C°F
(1 row)
SELECT unaccent('unaccent', '℗');
unaccent
----------
(P)
(1 row)
SELECT ts_lexize('unaccent', 'foobar');
ts_lexize
-----------
(1 row)
SELECT ts_lexize('unaccent', 'ёлка');
ts_lexize
-----------
{елка}
(1 row)
SELECT ts_lexize('unaccent', 'ЁЖИК');
ts_lexize
-----------
{ЕЖИК}
(1 row)
SELECT ts_lexize('unaccent', '˃˖˗˜');
ts_lexize
-----------
{>+-~}
(1 row)
SELECT ts_lexize('unaccent', 'À');
ts_lexize
-----------
{A}
(1 row)
SELECT ts_lexize('unaccent', '℃℉');
ts_lexize
-----------
{°C°F}
(1 row)
SELECT ts_lexize('unaccent', '℗');
ts_lexize
-----------
{(P)}
(1 row)
-- Controversial case. Black-Letter Capital H (U+210C) is translated by
-- Latin-ASCII.xml as 'x', but it should be 'H'.
SELECT unaccent('');
unaccent
----------
x
(1 row)