Committed by Greg Sabino Mullane <[email protected]>
Adjust tests to skip some things if client_encoding is not
UTF8 (and it really ought to be!)
---
t/12placeholders.t | 4 ++++
t/30unicode.t | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/t/12placeholders.t b/t/12placeholders.t
index 548cd19..bd16aa1 100644
--- a/t/12placeholders.t
+++ b/t/12placeholders.t
@@ -657,9 +657,13 @@ for my $char (qw{0 9 A Z a z}) { ## six letters
SKIP: {
my $server_encoding = $dbh->selectrow_array('SHOW server_encoding');
+ my $client_encoding = $dbh->selectrow_array('SHOW client_encoding');
skip "Cannot test non-ascii dollar quotes with
server_encoding='$server_encoding' (need UTF8 or SQL_ASCII)", 3,
unless $server_encoding =~ /\A(?:UTF8|SQL_ASCII)\z/;
+ skip 'Cannot test non-ascii dollar quotes unless client_encoding is
UTF8', 3
+ if $client_encoding ne 'UTF8';
+
for my $ident (qq{\x{5317}}, qq{abc\x{5317}}, qq{_cde\x{5317}}) { ##
hi-bit chars
eval {
$sth = $dbh->prepare(qq{SELECT \$$ident\$ 123
\$$ident\$});
diff --git a/t/30unicode.t b/t/30unicode.t
index aa993b6..533601d 100644
--- a/t/30unicode.t
+++ b/t/30unicode.t
@@ -27,6 +27,7 @@ isnt ($dbh, undef, 'Connect to database for unicode testing');
my @tests;
my $server_encoding = $dbh->selectrow_array('SHOW server_encoding');
+my $client_encoding = $dbh->selectrow_array('SHOW client_encoding');
# Beware, characters used for testing need to be known to Unicode version
4.0.0,
# which is what perl 5.8.1 shipped with.
@@ -90,6 +91,10 @@ foreach (@tests) {
) {
skip "Can't do $range tests with server_encoding='$server_encoding'", 1
if $range !~ ($ranges{$server_encoding} || qr/\A(?:ascii)\z/);
+
+ skip 'Cannot perform range tests if client_encoding is not
UTF8', 1
+ if $client_encoding ne 'UTF8';
+
foreach my $enable_utf8 (1, 0, -1) {
my $desc = "$state $range UTF-8 $test->{qtype} $type
(pg_enable_utf8=$enable_utf8)";
my @args = @{$test->{args} || []};
--
1.8.4