#!/usr/bin/perl # Copyright (c) 2006 Mark Hedges use strict; use English '-no_match_vars'; use blib; use Test::More tests => 6; use FindBin; # use a BEGIN block so we print our plan before CGI::FormBuilder is loaded BEGIN { use_ok('CGI::FormBuilder'); } require_ok('CGI::FormBuilder'); # Need to fake a request or else we stall... or not? hrmm. $ENV{REQUEST_METHOD} = 'GET'; my $testqs = { test1 => 'testing', test2 => 'test@test.foo', test3 => 0, _submitted_test => 1, }; $ENV{QUERY_STRING} = join('&', map "$_=$testqs->{$_}", keys %{$testqs}); sub test4opts { return [ [ beef => "Where's the beef?" ], [ chicken => "Cross the road!" ], [ horta => "They're eggs, Jim!" ], ]; } my $form = undef; my $sourcefile = "$FindBin::Bin/test.fb"; eval { $form = CGI::FormBuilder->new( source => { type => 'YAML', source => $sourcefile, debug => 0, }, ); }; ok !$EVAL_ERROR, 'create form'; my $ren = undef; eval { $ren = $form->render; }; ok !$EVAL_ERROR, 'render form'; ok( $form->submitted, 'form submitted' ); ok( $form->validate, 'form validate' );