File: field3.t

package info (click to toggle)
libspiffy-perl 0.21-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 256 kB
  • ctags: 99
  • sloc: perl: 1,067; makefile: 50
file content (88 lines) | stat: -rw-r--r-- 1,710 bytes parent folder | download
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
use lib 't', 'lib';
use strict;
use warnings;

package Foo;
use Spiffy -Base;
my $test1 = field test1 => [];
my $test2 = field test2 => {};
my $test3 = field test3 => [1..4];
my $test4 = field test4 => {1..4};
my $test5 = field test5 => -weaken;
my $test6 = field test6 => -init => '$self->setup(@_)';

package main;
use Test::More tests => 6;

my @expected = map { s/\r//g; $_ } split /\.\.\.\r?\n/, join '', <DATA>;

my $i = 1;
for my $expected (@expected) {
    is(eval '$test' . $i++, $expected);    
}

__DATA__
sub {
  my $self = shift;
  $self->{test1} = []
    unless exists $self->{test1};
  return $self->{test1} unless @_;
  $self->{test1} = shift;
  return $self->{test1};
}
...
sub {
  my $self = shift;
  $self->{test2} = {}
    unless exists $self->{test2};
  return $self->{test2} unless @_;
  $self->{test2} = shift;
  return $self->{test2};
}
...
sub {
  my $self = shift;
  $self->{test3} = [
          1,
          2,
          3,
          4
        ]

    unless exists $self->{test3};
  return $self->{test3} unless @_;
  $self->{test3} = shift;
  return $self->{test3};
}
...
sub {
  my $self = shift;
  $self->{test4} = {
          '1' => 2,
          '3' => 4
        }

    unless exists $self->{test4};
  return $self->{test4} unless @_;
  $self->{test4} = shift;
  return $self->{test4};
}
...
sub {
  my $self = shift;
  $self->{test5} = '-weaken'

    unless exists $self->{test5};
  return $self->{test5} unless @_;
  $self->{test5} = shift;
  return $self->{test5};
}
...
sub {
  my $self = shift;
  return $self->{test6} = do { $self->setup(@_) }
    unless @_ or defined $self->{test6};
  return $self->{test6} unless @_;
  $self->{test6} = shift;
  return $self->{test6};
}