use warnings;
use strict;
-use Test::More tests => 106;
-use Data::Dump qw/dump/;
+use Test::More tests => 111;
+use Data::Dumper;
use lib 'lib';
ok( $o->ping, 'ping' );
+ok( $o = Redis->new( server => 'localhost:6379' ), 'new with server' );
diag "Commands operating on string values";
cmp_ok( $o->get( 'foo' ), 'eq', 'bar', 'get foo = bar' );
+SKIP: {
+ skip "set REDIS_RESTART to init script location to test reconnect code", 1 unless $ENV{REDIS_RESTART};
+
+ diag( 'Restarting redis server' );
+ $o->save();
+
+ `sudo $ENV{REDIS_RESTART} restart`;
+
+ cmp_ok( $o->get( 'foo' ), 'eq', 'bar', 'get foo = bar still works after restart' );
+}
+
ok( $o->set( foo => 'baz' ), 'set foo => baz' );
cmp_ok( $o->get( 'foo' ), 'eq', 'baz', 'get foo = baz' );
+my $euro = "\x{20ac}";
+ok( $o->set( utf8 => $euro ), 'set utf8' );
+cmp_ok( $o->get( 'utf8' ), 'eq', $euro, 'get utf8' );
+
ok( $o->set( 'test-undef' => 42 ), 'set test-undef' );
ok( $o->set( 'test-undef' => undef ), 'set undef' );
ok( ! defined $o->get( 'test-undef' ), 'get undef' );
diag "Remote server control commands";
ok( my $info = $o->info, 'info' );
-diag dump( $info );
+isa_ok( $info, 'HASH' );
+diag Dumper( $info );
diag "Connection handling";