File: 02_class.t

package info (click to toggle)
libhash-fieldhash-perl 0.15-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 296 kB
  • sloc: perl: 1,249; ansic: 207; makefile: 10
file content (59 lines) | stat: -rw-r--r-- 883 bytes parent folder | download | duplicates (7)
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
#!perl -w

use strict;
use Test::More tests => 10;

use Hash::FieldHash qw(:all);

BEGIN{
	package InsideOut;
	use Hash::FieldHash qw(fieldhashes);

	fieldhashes \my(%foo, %bar);

	sub new{
		bless {}, shift;
	}

	sub foo{
		my $self = shift;
		$foo{$self} = shift if @_;
		return $foo{$self};
	}
	sub bar{
		my $self = shift;
		$bar{$self} = shift if @_;
		return $bar{$self};
	}

	sub registry{
		[\(%foo, %bar)];
	}
}
my $registry = InsideOut->registry();

is_deeply $registry, [{}, {}];

{
	my $x = InsideOut->new();
	my $y = InsideOut->new();

	$x->foo(42);
	is $x->foo, 42;
	is $x->bar, undef;
	is $y->foo, undef;
	is $y->bar, undef;

	$x->foo('x.foo');
	$x->bar('x.bar');
	$y->foo('y.foo');
	$y->bar('y.bar');
	is $x->foo, 'x.foo';
	is $x->bar, 'x.bar';
	is $y->foo, 'y.foo';
	is $y->bar, 'y.bar';
}
#use Data::Dumper; diag(Dumper $registry);

is_deeply $registry, [{}, {}];