22 Jan 2014 03:06:05 UTC
- Distribution: HTML-Form-ForceValue
- Module version: 0.009
- Source (raw)
- Browse (raw)
- How to Contribute
- Repository (git clone)
- Testers (638 / 0 / 0)
- KwaliteeBus factor: 1
- 95.45% Coverage
- License: perl_5
- Activity24 month
- Download (14.42KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest versionRJBS Ricardo SIGNES 😄and 1 contributors
- Ricardo SIGNES
HTML::Form::ForceValue - who cares what values are legal, anyway?
use Test::WWW::Mechanize tests => 5; use HTML::Form::ForceValue; my $mech = WWW::Mechanize->new; # We're going to test our form. $mech->get_ok("http://cgi.example.com/form"); $mech->set_fields( name => 'Crazy Ivan', city => 'Vladivostok', ); # What if insane bot tries to claim it's from USSR? $mech->form_name("user_info")->find_input("country")->force_value("su"); $mech->submit;
HTML::Form is a very useful module that provides objects to represent HTML forms. They can be filled in, and the filled-in values can be converted into an HTTP::Request for submission to a server.
WWW::Mechanize makes this even easier by providing a very easy to automate user agent that provides HTML::Form objects to represent forms. Test::WWW::Mechanize hangs some testing features on Mech, making it easy to automatically test how web applications behave.
One really important thing to test is how a web application responds to invalid input. Unfortunately, HTML::Form protects you from doing this by throwing an exception when an invalid datum is assigned to an enumerated field. HTML::Form::ForceValue mixes in to HTML::Form classes to provide
force_valuemethods which behave like
value, but will automatically add any invalid datum to the list of valid data.
libwww-perl5.817, HTML::Form has a strict mode, which restricts form values to the options given. Without strict mode, values may be set to anything you like, making this module unnecessary. It remains on the CPAN for use by those who choose not to upgrade their LWP, but in general this code is now obsolete.
This implementation is extremely crude. This feature should really be in HTML::Form (in my humble opinion), and this module should cease to exist once it is. In the meantime, just keep in mind that I spent a lot more time packaging this than I did writing it. Caveat importor!
This software is copyright (c) 2006 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Module Install Instructions
To install HTML::Form::ForceValue, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell install HTML::Form::ForceValue
For more information on module installation, please visit the detailed CPAN module installation guide.