File: failure.t

package info (click to toggle)
libreturn-value-perl 1.302-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 116 kB
  • ctags: 13
  • sloc: perl: 87; makefile: 45
file content (73 lines) | stat: -rw-r--r-- 2,296 bytes parent folder | download | duplicates (3)
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
use Test::More tests => 31;
use strict;
$^W = 1;

my $class;

BEGIN { $class = 'Return::Value'; use_ok($class); }

{
	my $message = "I've got a bad feelin' about this.";
	my $value = failure $message;

	isa_ok($value, $class, "failure value");

	ok(not($value),          "failure value is false");
	ok($value == 0,          "failure value is 0");
	ok($value eq $message,   "failure value has a bad feelin'");
	is($value->errno, 1,     "failure value errno is default (1)");
}

{
	my $message = "I've got a bad feelin' about this.";
	my $value = failure $message, errno => 501, data => { cause => 'sunspots' };

	isa_ok($value, $class, "failure value");

	ok(not($value),          "failure value is false");
	ok($value == 0,          "failure value is 0");
	ok($value eq $message,   "failure value has a bad feelin'");
	is($value->errno, 501,   "failure value has 501 errno");

	is(ref $value->data,   'HASH',     "failure value includes hashref");
	is($value->{cause},    'sunspots', "failure value derefs correctly");
}

{
	my $message = "I've got a bad feelin' about this.";
	my $value = failure $message, errno => 501, data => [ cause => 'sunspots' ];

	isa_ok($value, $class, "failure value");

	ok(not($value),          "failure value is false");
	ok($value == 0,          "failure value is 0");
	ok($value eq $message,   "failure value has a bad feelin'");
	is($value->errno, 501,   "failure value has 501 errno");

	is(ref $value->data,   'ARRAY',    "failure value includes hashref");
	is($value->[1],        'sunspots', "failure value derefs correctly");
}

{
	my $value = failure errno => 501, data => [ cause => 'sunspots' ];

	isa_ok($value, $class, "failure value");

	ok(not($value),          "failure value is false");
	ok($value == 0,          "failure value is 0");
	ok($value eq 'failure',  "failure value has default stringification");
	is($value->errno, 501,   "failure value has 501 errno");

	is(ref $value->data,   'ARRAY',    "failure value includes hashref");
	is($value->[1],        'sunspots', "failure value derefs correctly");
}

{
	my $value = failure;

	isa_ok($value, $class, "failure value");

	ok(not($value),          "failure value is true");
	ok($value == 0,          "failure value is 0");
	ok($value eq 'failure',  "failure has default stringification");
}