Skip to content

Commit fa4744e

Browse files
committed
refactor tests
1 parent d35dda5 commit fa4744e

File tree

1 file changed

+42
-35
lines changed

1 file changed

+42
-35
lines changed

lib/Protocol/Redis/Test.pm

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ our @EXPORT = qw(protocol_redis_ok);
1111
use Test::More;
1212
require Carp;
1313

14-
sub protocol_redis_ok($$) {
14+
sub protocol_redis_ok {
1515
my ($redis_class, $api_version) = @_;
1616

1717
if ($api_version == 1) {
@@ -30,31 +30,32 @@ sub _apiv1_ok {
3030

3131
use_ok $redis_class;
3232

33-
# Version 1 protocol
34-
my $redis = new_ok $redis_class, [api => 1];
33+
_test_version_1($redis_class);
3534

36-
can_ok $redis, 'parse', 'api', 'on_message', 'encode';
35+
_test_unknown_version($redis_class);
36+
}
37+
}
38+
39+
sub _test_version_1 {
40+
my $redis_class = shift;
41+
42+
my $redis = new_ok $redis_class, [api => 1];
3743

38-
is $redis->api, 1, '$redis->api';
44+
can_ok $redis, 'parse', 'api', 'on_message', 'encode';
3945

40-
# Parsing method tests
41-
$redis->on_message(undef);
42-
_parse_string_ok($redis);
43-
_parse_bulk_ok($redis);
44-
_parse_multi_bulk_ok($redis);
46+
is $redis->api, 1, '$redis->api';
4547

46-
# on_message works
47-
_on_message_ok($redis);
48+
# Parsing method tests
49+
$redis->on_message(undef);
50+
_parse_string_ok($redis);
51+
_parse_bulk_ok($redis);
52+
_parse_multi_bulk_ok($redis);
4853

49-
# Encoding method tests
50-
_encode_ok($redis);
54+
# on_message works
55+
_on_message_ok($redis);
5156

52-
# Unknown version should raise an exception
53-
eval {
54-
new($redis_class, api => 0);
55-
};
56-
ok($@, 'unknown version raises an exception');
57-
}
57+
# Encoding method tests
58+
_encode_ok($redis);
5859
}
5960

6061
sub _parse_string_ok {
@@ -124,8 +125,7 @@ sub _parse_bulk_ok {
124125
$redis->parse("\$-1\r\n");
125126

126127
my $message = $redis->get_message;
127-
ok defined($message) && !defined($message->{data}),
128-
'nil bulk message';
128+
ok defined($message) && !defined($message->{data}), 'nil bulk message';
129129

130130
# Two chunked bulk messages
131131
$redis->parse(join("\r\n", '$4', 'test', '+OK'));
@@ -156,8 +156,8 @@ sub _parse_multi_bulk_ok {
156156
$redis->parse("\$5\r\ntest2\r\n");
157157
$redis->parse("\$5\r\ntest3\r\n");
158158

159-
is_deeply $redis->get_message,
160-
{ type => '*',
159+
is_deeply $redis->get_message, {
160+
type => '*',
161161
data => [
162162
{type => '$', data => 'test1'},
163163
{type => '$', data => 'test2'},
@@ -184,8 +184,8 @@ sub _parse_multi_bulk_ok {
184184

185185
# Multi bulk message with status items
186186
$redis->parse(join("\r\n", ('*2', '+OK', '$4', 'test'), ''));
187-
is_deeply $redis->get_message,
188-
{ type => '*',
187+
is_deeply $redis->get_message, {
188+
type => '*',
189189
data => [{type => '+', data => 'OK'}, {type => '$', data => 'test'}]
190190
};
191191

@@ -210,7 +210,7 @@ sub _parse_multi_bulk_ok {
210210
{type => '$', data => 'test2'},
211211
{type => '$', data => 'test3'}
212212
]
213-
};
213+
};
214214

215215
# Complex string
216216
$redis->parse("\*4\r\n");
@@ -224,11 +224,11 @@ sub _parse_multi_bulk_ok {
224224
{type => ':', data => 42},
225225
{type => '+', data => 'test3'}
226226
]
227-
};
227+
};
228228
is_deeply $redis->get_message, {
229229
type => '$',
230230
data => '12345',
231-
};
231+
};
232232

233233
# pipelined multi-bulk
234234
$redis->parse(
@@ -237,8 +237,8 @@ sub _parse_multi_bulk_ok {
237237
('*1', '$3', 'ok3'), '')
238238
);
239239

240-
is_deeply $redis->get_message,
241-
{ type => '*',
240+
is_deeply $redis->get_message, {
241+
type => '*',
242242
data => [{type => '$', data => 'ok1'}, {type => '$', data => 'ok2'}]
243243
};
244244
is_deeply $redis->get_message,
@@ -299,8 +299,8 @@ sub _encode_ok {
299299
join("\r\n", ('*1', '$4', 'test'), ''),
300300
'encode multi-bulk';
301301

302-
is $redis->encode(
303-
{ type => '*',
302+
is $redis->encode({
303+
type => '*',
304304
data => [
305305
{type => '$', data => 'test1'}, {type => '$', data => 'test2'}
306306
]
@@ -315,8 +315,8 @@ sub _encode_ok {
315315
is $redis->encode({type => '*', data => undef}), "\*-1\r\n",
316316
'encode nil multi-bulk';
317317

318-
is $redis->encode(
319-
{ type => '*',
318+
is $redis->encode({
319+
type => '*',
320320
data => [
321321
{type => '$', data => 'foo'},
322322
{type => '$', data => undef},
@@ -328,6 +328,13 @@ sub _encode_ok {
328328
'encode multi-bulk with nil element';
329329
}
330330

331+
sub _test_unknown_version {
332+
my $redis_class = shift;
333+
334+
eval { new($redis_class, api => 0); };
335+
ok($@, 'unknown version raises an exception');
336+
}
337+
331338
1;
332339
__END__
333340

0 commit comments

Comments
 (0)