File: Catmandu-Buffer.t

package info (click to toggle)
libcatmandu-perl 1.2024-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,552 kB
  • sloc: perl: 17,037; makefile: 24; sh: 1
file content (55 lines) | stat: -rw-r--r-- 911 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
#!/usr/bin/env perl

use strict;
use warnings;
use Test::More;
use Test::Exception;

my $pkg;

BEGIN {
    $pkg = 'Catmandu::Buffer';
    use_ok $pkg;
}
require_ok $pkg;

{

    package T::Buffer;
    use Moo;
    with $pkg;
}

my $b = T::Buffer->new;

can_ok $b, 'buffer_size';
can_ok $b, 'buffer';
can_ok $b, 'default_buffer_size';
can_ok $b, 'buffer_used';
can_ok $b, 'buffer_is_full';
can_ok $b, 'buffer_add';
can_ok $b, 'clear_buffer';

is $b->buffer_size, $b->default_buffer_size;

$b = T::Buffer->new(buffer_size => 5);
is $b->buffer_size, 5;
is $b->buffer_used, 0;

$b->buffer_add(1, 2, 3);
is $b->buffer_used, 3;
is_deeply $b->buffer, [1, 2, 3];
is $b->buffer_is_full, 0;

$b->buffer_add(4, 5, 6);
is $b->buffer_used, 6;
is_deeply $b->buffer, [1, 2, 3, 4, 5, 6];
is $b->buffer_is_full, 1;

$b->clear_buffer;
is $b->buffer_used, 0;
is_deeply $b->buffer, [];
is $b->buffer_is_full, 0;

done_testing 21;