1 -- Start transaction and plan the tests.
4 -- Number of tests that will be run
10 'SELECT * FROM config.org_unit_setting_type WHERE name = $$circ.patron_search.diacritic_insensitive$$',
11 'circ.patron_search.diacritic_insensitive exists');
13 SELECT has_index('actor', 'usr', 'actor_usr_first_given_name_unaccent_idx',
14 'unaccent_and_squash(first_given_name)',
15 'Index actor_usr_first_given_name_unaccent_idx exists');
17 SELECT has_index('actor', 'usr', 'actor_usr_second_given_name_unaccent_idx',
18 'unaccent_and_squash(second_given_name)',
19 'Index actor_usr_second_given_name_unaccent_idx exists');
21 SELECT has_index('actor', 'usr', 'actor_usr_family_name_unaccent_idx',
22 'unaccent_and_squash(family_name)',
23 'Index actor_usr_family_name_unaccent_idx exists');
25 SELECT is(evergreen.unaccent_and_squash('aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ'),
26 'aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz',
27 'English Characters');
29 SELECT is(evergreen.unaccent_and_squash('0123456789!@#$%^&*()-+'),
30 '0123456789', 'Numbers and Symbols');
32 SELECT is(evergreen.unaccent_and_squash('ÁÉÍÑÓÚÜáéíñóúü¿¡'),
33 'aeinouuaeinouu¿¡', 'Spanish');
35 SELECT is(evergreen.unaccent_and_squash('ÖÜÇĞŞöüçğşİI'),
36 'oucgsoucgsii', 'Turkish');
38 SELECT is(evergreen.unaccent_and_squash('ÄÉÖÜ'),
41 SELECT is(evergreen.unaccent_and_squash('АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'),
42 'абвгдежзийклмнопрстуфхцчшщъыьэюя', 'Russian');
44 SELECT is(evergreen.unaccent_and_squash('ÁĄÄÉĘĚÍÓÔÚŮÝČĹŇŔŘŠŽ'),
45 'aaaeeeioouuyclnrrsz', 'Czeck, Slovack & Slovenian');
47 SELECT is(evergreen.unaccent_and_squash('Άά Έέ Ήή Ίί Όό Ύύ Ώώ'),
48 'άάέέήήίίόόύύώώ', 'Greek');
50 SELECT is(evergreen.unaccent_and_squash('Jacques Bélanger'),
51 'jacquesbelanger', 'French nom and prénom');
53 SELECT is(evergreen.unaccent_and_squash('El Niño'),
54 'elnino', 'Spanish "The Kid"');
56 SELECT is(evergreen.unaccent_and_squash('Œuvres'),
57 CASE WHEN regexp_replace(regexp_replace(version(),'\..+',''),'^PostgreSQL ','')::INT >= 10 THEN 'oeuvres' ELSE 'euvres' END, 'oe ligature');
61 SELECT is(evergreen.unaccent_and_squash('O''Brien'),
62 'obrien', 'Apostrophe');
64 SELECT is(evergreen.unaccent_and_squash('Grubbly-Plank'),
65 'grubblyplank', 'Hyphen');
67 SELECT is(evergreen.unaccent_and_squash('p&#$(a#*&$!s))(\\s'),
68 'pass', 'Punctuation hash');
70 -- Finish the test and clean up.
71 SELECT * FROM finish();