File: lrange.t

package info (click to toggle)
libanyevent-redis-perl 0.24-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 248 kB
  • ctags: 142
  • sloc: perl: 1,888; makefile: 2
file content (63 lines) | stat: -rw-r--r-- 2,037 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
use strict;
use Test::More;
use t::Redis;

test_redis {
    my $r = shift;

    for my $n(1 .. 10) {
      my $key1 = "lrange_test1_$n";
      my $key2 = "lrange_test2_$n";

      $r->del($key1);
      $r->del($key2);

      for (1 .. 20) {
        $r->rpush($key1, join "\n", map {"A" x 100} (0 .. 3));
        $r->rpush($key2, join "\n", map {"B" x 100} (0 .. 3));
      }
      for (1 .. 20) {
        $r->rpush($key1, join "\n", map {"C" x 100} (0 .. 3));
        $r->rpush($key2, join "\n", map {"D" x 100} (0 .. 3));
      }

      $r->all_cv->begin;
      $r->lrange($key1, 0, 19, sub {
          my $value = join "\n", map {"A" x 100} (0 .. 3);
          is scalar @{$_[0]}, 20, "correct length $key1 0 19";
          is $_[0][-1], $value, "correct end value $key1 0 19";
          is $_[0][0], $value, "correct start value $key1 0 19";
          $r->all_cv->end;
      });

      $r->all_cv->begin;
      $r->lrange($key2, 0, 19, sub {
          my $value = join "\n", map {"B" x 100} (0 .. 3);
          is scalar @{$_[0]}, 20, "correct length $key2 0 19";
          is $_[0][-1], $value, "correct end value $key2 0 19";
          is $_[0][0], $value, "correct start value $key2 0 19";
          $r->all_cv->end;
      });

      $r->all_cv->begin;
      $r->lrange($key1, 20, 39, sub {
          my $value = join "\n", map {"C" x 100} (0 .. 3);
          is scalar @{$_[0]}, 20, "correct length $key1 20 39";
          is $_[0][-1], $value, "correct end value $key1 20 39";
          is $_[0][0], $value, "correct start value $key1 20 39";
          $r->del($key1, sub { $r->all_cv->end });
      });

      $r->all_cv->begin;
      $r->lrange($key2, 20, 39, sub {
          my $value = join "\n", map {"D" x 100} (0 .. 3);
          is scalar @{$_[0]}, 20, "correct length $key2 20 39";
          is $_[0][-1], $value, "correct end value $key2 20 39";
          is $_[0][0], $value, "correct start value $key2 20 39";
          $r->del($key2, sub { $r->all_cv->end });
      });
    }

    $r->all_cv->recv;
};
done_testing;