5 1_validate_08_yaml_file.t - Check for CGI::Ex::Validate's ability to load YAML conf files.
10 use Test::More tests => 21;
14 skip("Missing YAML.pm", 21) if ! eval { require 'YAML.pm' };
16 use_ok('CGI::Ex::Validate');
20 sub validate { scalar CGI::Ex::Validate::validate(@_) }
22 ###----------------------------------------------------------------###
24 ### where are my samples
26 $dir =~ tr|\\|/|; # should probably use File::Spec
27 $dir =~ s|[^/]+$|../samples| || die "Couldn't determine dir";
28 $dir =~ s|^t/|./t/|; # to satisfy conf
31 $v = "$dir/yaml1.val";
33 $e = validate({}, $v);
34 ok($e, 'nothing passed');
35 $e = validate({user => 1}, $v);
36 ok(! $e, 'user passed');
37 $e = validate({user => 1, bar => 1}, $v);
38 ok($e, 'user and bar passed');
39 $e = validate({user => 1, bar => 1, foo => 1}, $v);
40 ok(! $e, 'user and bar and foo passed');
43 ### single group - default extension
46 $e = validate({}, $v);
48 $e = validate({user => 1}, $v);
50 $e = validate({user => 1, bar => 1}, $v);
52 $e = validate({user => 1, bar => 1, foo => 1}, $v);
56 ### three groups, some with validate_if's - using arrayref
57 $v = "$dir/yaml2.val";
59 $e = validate({}, $v);
98 ### three groups, some with validate_if's - using documents
99 $v = "$dir/yaml3.val";
101 $e = validate({}, $v);