Duke Leto (Jonathon Leto of Parrot, Perl 6 and Perl 5 CPAN fame) who I recently caught up with in San Francisco at the Google Summer of Code Mentor’s meeting, has added a new, and as he would no doubt state it ‘small’, feature to the latest release of Test::WWW::Mechanize (version 1.38). You can now pass custom HTML::Lint objects allowing you to sidestep some of the issues in Test::Mechanize.
Previously only Test::WWW::Mechanize->new( autolint => 1 ) was supported, but with this update you can do: Test::WWW::Mechanize->new( autolint => $linter ); where $linter is a custom HTML::Lint object with whatever options that you require.
Currently Test::WWW::Mechanize assumes when checking a modern web application that everything is ASCII, this has the obvious drawbacks of any UTF-8 (and other) characters throwing an error.* Now we can create a custom linter that allows us to sidestep the issue when running Test::WWW::Mechanize and only report if a structural error is thrown.
The real issue would be to solve the error that only allows Test::WWW::Mechanize to see ASCII characters, but for now we have a ‘small’ addition to the latest release and neat tool which moves us forwards until that is achieved.
* Using “autolint => 1″ on a utf8 website/application would wrongly report an error about special characters.