|
| 1 | +\set ECHO |
| 2 | +\set QUIET 1 |
| 3 | + |
| 4 | +\pset format unaligned |
| 5 | +\pset tuples_only true |
| 6 | +\pset pager |
| 7 | + |
| 8 | +\set ON_ERROR_ROLLBACK 1 |
| 9 | +\set ON_ERROR_STOP true |
| 10 | +\set QUIET 1 |
| 11 | + |
| 12 | +SET client_encoding = utf8; |
| 13 | + |
| 14 | +BEGIN; |
| 15 | + SELECT plan(19); |
| 16 | + |
| 17 | + SELECT lives_ok( 'CREATE LANGUAGE plperl', 'Language creation should work fine?!' ); |
| 18 | + |
| 19 | + SELECT lives_ok( 'CREATE function pl_uc(TEXT) RETURNS TEXT as $$return uc shift$$ language plperl', 'Uppercase conversion'); |
| 20 | + SELECT lives_ok( 'CREATE function pl_lc(TEXT) RETURNS TEXT as $$return lc shift$$ language plperl', 'Lowercase conversion'); |
| 21 | + SELECT lives_ok( 'CREATE function pl_re(TEXT, TEXT) RETURNS TEXT as $$return $_[0] =~ $_[1] ? $& : "NOT MATCHED"$$ language plperl', 'Regexp matching'); |
| 22 | + SELECT lives_ok( E'CREATE function pl_euro() RETURNS TEXT as $$return "\\x{20AC}"$$ language plperl', 'Euro character'); |
| 23 | + |
| 24 | + SELECT ok( upper('OmniTI') = 'OMNITI', 'Uppercase sanity check, base string, just a-z letters'); |
| 25 | + SELECT ok( pl_uc('OmniTI') = upper('OmniTI'), 'Uppercase, base string, just a-z letters'); |
| 26 | + SELECT ok( lower('OmniTI') = 'omniti', 'Lowercase sanity check, base string, just a-z letters'); |
| 27 | + SELECT ok( pl_lc('OmniTI') = lower('OmniTI'), 'Lowercase, base string, just a-z letters'); |
| 28 | + |
| 29 | + SELECT ok( 'ZAŻÓŁĆ GĘŚLĄ JAŹŃ' = upper('ZażółĆ gĘŚlą jaŹń'), 'Uppercase polish accented letters' ); |
| 30 | + SELECT ok( pl_uc('ZażółĆ gĘŚlą jaŹń') = upper('ZażółĆ gĘŚlą jaŹń'), 'Uppercase polish accented letters' ); |
| 31 | + SELECT ok( 'zażółć gęślą jaźń' = lower('ZażółĆ gĘŚlą jaŹń'), 'Lowercase polish accented letters' ); |
| 32 | + SELECT ok( pl_lc('ZażółĆ gĘŚlą jaŹń') = lower('ZażółĆ gĘŚlą jaŹń'), 'Lowercase polish accented letters' ); |
| 33 | + |
| 34 | + SELECT ok( pl_re('OmniTI', 'ni') = 'ni' ); |
| 35 | + SELECT ok( pl_re('OmniTI', 'n.') = 'ni' ); |
| 36 | + SELECT ok( pl_re('Zażółć', 'a..') = 'ażó' ); |
| 37 | + SELECT ok( pl_re('Zażółć', 'Ż..') = 'NOT MATCHED' ); |
| 38 | + SELECT ok( pl_re('Zażółć', '(?i-xsm:Ż..)') = 'żół' ); |
| 39 | + |
| 40 | + SELECT is( pl_euro(), '€' ); |
| 41 | + |
| 42 | + SELECT * FROM finish(); |
| 43 | +ROLLBACK; |
0 commit comments