Revision history for Test-WWW-Mechanize
WWW::Mechanize and Test::WWW::Mechanize do not use rt.cpan.org for
bug tracking. They are now being tracked via GitHub at
https://github.com/petdance/test-www-mechanize/issues
1.45_03 Tue Jul 12 17:54:00 CDT 2016
------------------------------------
[ENHANCEMENTS]
Replaced header_matches() method with header_is() and header_like()
to match the other methods like title_is() and title_like().
The scraped_id_is() method used to assign a description for the test if
one was not passed. Now it does not.
scraped_id_is() now gives proper diagnostics if an ID is not found in
the HTML.
1.45_02 Mon Jul 11 15:10:00 CDT 2016
------------------------------------
[ENHANCEMENTS]
Added a lacks_header() method to go with header_exists().
1.45_01 Sat Jul 9 00:03:42 CDT 2016
------------------------------------
[ENHANCEMENTS]
Added a delete_ok() method. Thanks, moznion.
Added header_exists() and header_matches() methods. Thanks, Eric
A. Zarko.
content_contains() now fails if it's called with a regex. content_like()
now fails if it's not called with a regex.
[FIXES]
The test server run during the test suite allowed URLs outside of the
document tree, which could potentially be a security problem. This has
been fixed. Thanks, Tynovsky.
https://github.com/petdance/test-www-mechanize/issues/33
1.44 Sat Jun 30 20:32:04 CDT 2012
------------------------------------
There is no new functionality in this release.
[FIXES]
Fixed test failures on Win32. Thanks, Jerry Gay.
1.42 Thu May 31 11:35:26 CDT 2012
------------------------------------
If you want to use the autolint functionality, you'll have to have
HTML::Lint 2.20.
[FIXES]
Custom lint objects don't get reset before they get used, making
autolint with a custom lint object practically useless.
https://github.com/petdance/test-www-mechanize/issues/25
1.40 Fri Apr 13 15:14:39 CDT 2012
------------------------------------
[ENHANCEMENTS]
Added a $mech->autolint() method so you can turn autolinting on and off
in mid-program. Thanks, Mike O'Regan.
New functions $mech->scrape_text_by_id() and $mech->scrape_text_by_attr()
let you extract text from your pages. Convenience function
$mech->scraped_id_is() makes it easy to scrape and compare in one
function.
<h1 id="pagetitle">My Awesome Page!</h1>
# Verify that HTML is there with:
$mech->scraped_id_is( 'pagetitle', 'My Awesome Page!' );
[FIXES]
$mech->has_tag() now handles nested tags more sensibly. This fixes
Google Code ticket #1.
[INTERNALS]
Explicitly requires Test::Simple 0.94 or higher.
Brought over t/TestServer.pm from WWW::Mechanize which fixes a number
of problems.
1.38 Fri Oct 28 10:12:48 CDT 2011
------------------------------------
[FIXES]
Now passes tests even if HTML::Lint is not installed.
There are no other changes in 1.38.
1.36 Thu Oct 27 00:09:21 CDT 2011
------------------------------------
[ENHANCEMENTS]
The $mech object autolint argument can now take an HTML::Lint object.
This lets you pass your own HTML::Lint object that does less stringent
checking than the one T:W:M creates.
1.34 Tue Jul 5 16:23:24 CDT 2011
------------------------------------
[ENHANCEMENTS]
Added $mech->lacks_uncapped_inputs() to check for <input> tags that
don't have a maxlength attribute. We've been using this for years at
work, and I'm just now moving it into Test::WWW::Mechanize.
Added $mech->grep_inputs() and $mech->grep_submits() to easily pull
input fields from the page. I'd like to get this moved up to base
WWW::Mechanize, because it has use outside of the Test:: world.
$mech->followable_links() now finds file: URLs, too.
$mech->content_contains(), $mech->content_lacks(), $mech->text_contains(0
and $mech->text_lacks() all fail if a reference is passed instead of
a string.
[FIXES]
$mech->text_contains() was not calling $mech->text(), so was not taking
advantage of the caching of the parsed text.
[INTERNALS]
Most tests no longer use TestServer.pm class.
All tests now run under -T and have plan counts.
1.32 Wed May 11 10:12:25 CDT 2011
------------------------------------
No changes from 1.31_01.
1.31_01 Wed May 4 16:07:31 CDT 2011
------------------------------------
[ENHANCEMENTS]
The methods that look at the text of the page, ->text_like() and
->text_unlike(), now use the WWW::Mechanize method ->text() which caches
the text. This will be a big speedup if you call these methods more
than once.
[FIXED]
Normalized the use of single vs. double quotes in the default descriptions.
Fixed tests that fail under newer versions of LWP.
Fixed tests that fail if http_proxy or HTTP_PROXY are set.
Fixed tests that fail on Perl 5.14.
1.30 Wed Jun 9 12:23:48 CDT 2010
------------------------------------
[ENHANCEMENTS]
autolint used to only work on get_ok() calls. Now it works with
post_ok(), submit_form_ok(), follow_link_ok() and click_ok().
Added $mech->text_contains(), $mech->text_like() and $mech->text_unlike()
methods. These check the text of an HTML page separate from the
HTML markup. Thanks to Ashley Pond V.
[FIXED]
t/head_ok.t should no longer fail if your ISP "helpfully" returns
an IP address for non-existent DNS records. Thanks, Schwern.
1.28 Tue Apr 13 00:44:27 CDT 2010
------------------------------------
[FIXED]
t/put_ok.t finally passes.
1.26 Mon Apr 5 00:54:46 CDT 2010
------------------------------------
[FIXED]
Description of error in $mech->content_unlike() was wrong.
Now requires Test::LongString 0.12.
t/put_ok.t now passes, but with a handful of warnings. Help in figuring
out why would be appreciated.
[INTERNALS]
Hoisted common code out of get_ok, post_ok, etc.
[DOCUMENTATION]
Updated copyright and licensing information.
1.24 Sat Jan 17 13:26:47 CST 2009
------------------------------------
Tests run on port 13432 instead of 8080. It should really be a
random open port, but for now, something other than 8080 will do.
1.23_01 Mon Dec 22 17:43:46 CST 2008
------------------------------------
[FIXED]
Tests would fail because we weren't unsetting http_proxy.
Fixed many failed tests. Overhauled the test server setup.
[ENHANCEMENTS]
Added autolinting capability, so you can do this:
my $mech = Test::WWW::Mechanize->new( autolint => 1 );
$mech->get_ok( $url );
and the get_ok() will fail if the page is fetched, but the resultant HTML
(if it is indeed text/html) does not pass HTML::Lint.
Added $mech->click_ok().
The user agent is now "Test-WWW-Mechanize/version" by default.
1.22 Thu Nov 20 00:33:36 CST 2008
------------------------------------
[ENHANCEMENTS]
Added $mech->head_ok() and $mech->put_ok() methods. Thanks to
Jaldhar Vyas.
1.20 Wed Mar 12 23:56:11 CDT 2008
------------------------------------
[FIXES]
stuff_inputs() used to do nothing. Now it works.
http://code.google.com/p/www-mechanize/issues/detail?id=9
Fixed punctuation in some error messages.
Fixed compatibility with WWW::Mechanize 1.36.
1.18 Thu Dec 6 10:12:14 CST 2007
------------------------------------
[ENHANCEMENTS]
Added default descriptions for most test assertions.
[FIXES]
HTML::Lint is now properly optional.
Added delays in all the tests that use HTTP::Server::Simple to give
it time to correctly fire up.
1.16 Mon Oct 29 15:34:21 CDT 2007
------------------------------------
[ENHANCEMENTS]
Added $mech->post_ok(). Thanks, Greg Sheard.
Added $mech->submit_form_ok(). Thanks, Mark Stosberg.
Added $mech->html_lint_ok()
[FIXES]
Fixed some bugs that were causing test failures.
1.14 Fri May 11 16:22:02 CDT 2007
------------------------------------
[FIXES]
Fixes test failures. Thanks to Mark Blackman for RT #26602:
The module tests currently spawn a server (based on
HTTP::Server::Simple::CGI) which is killed when a __DIE__
signal is received, normally only when the invoking
perl dies. However, as perlvar makes clear, the __DIE__
signal is received when eval blocks die as well. The
new version (1.22) of WWW::Mechanize now calles
HTTP::Message::decoded_content which calls Encode.pm
which has a eval block that require's Encode::ConfigLocal
which is usually not present, so the eval dies and the
HTTP server is killed as soon as the $mech object tries
to do a 'get'. It's simple to use a system variable,
$^S to find out if the __DIE__ signal is being called
for an eval so we ignore that case with the patch
attached.
[DOCUMENTATION]
* Made the synopsis show that T:W:M doesn't take the tests=>$x
like other Test::* modules. It'd be nice if it did, though.
1.12 Thu Jul 6 23:47:59 CDT 2006
------------------------------------
[ENHANCEMENTS]
Added followable_links() method to return only those links
that your mech can actually follow.
1.10 Sun Jun 18 22:58:41 CDT 2006
------------------------------------
[FIXES]
RT #19147: Tests turn off the http_proxy environment variable before
starting. Thanks to Matt Trout.
RT #18779: makes stuff_inputs() conform to the documentation,
changing the implementation to expect an arrayref for $options->{ignore},
as opposed to a hashref. Thanks to Mike O'Regan.
[ENHANCEMENTS]
Added base_is, base_like and base_unlike. Thanks to MATSUNO Tokuhiro.
1.08 Mon Nov 21 10:35:23 CST 2005
------------------------------------
[FIXES]
has_tag_like()'s regex was reversed, so would match when it shouldn't.
Thanks to Chris Dolan.
[DOCUMENTATION]
Added links to support sites.
1.06 Jun 29 2005
------------------------------------
[INTERNALS]
Updated test suite to use HTTP::Server::Simple. Thanks to Shawn
Sorichetti for it.
1.05_02 Sun Apr 3 12:19:05 CDT 2005
------------------------------------
[ENHANCEMENTS]
Added has_tag() and has_tag_like(). Thanks RJBS.
1.05_01 Tue Mar 8 16:24:36 CST 2005
------------------------------------
[ENHANCEMENTS]
get_ok() now shows the status line for the mech if the test fails.
get_ok() now returns true/false, not an HTTP::Response.
1.04 Fri Mar 4 00:08:42 CST 2005
------------------------------------
[ENHANCEMENTS]
Added follow_link_ok(). Thanks to Mike O'Regan.
Added get_ok(). Thanks to Dan Friedman.
1.02 Wed Dec 15 17:35:23 CST 2004
------------------------------------
[ENHANCEMENTS]
Added content_lacks()
[DOCUMENTATION]
Fixed some documentation bugs. Thanks to Drew Taylor.
1.00 Thu Dec 9 11:41:50 CST 2004
------------------------------------
[ENHANCEMENTS]
Added content_contains()
Fixed diagnostic errors to work the same way regardless of which
version of Test::Builder you have.
0.99 Sun Oct 24 11:17:59 CDT 2004
------------------------------------
[ENHANCEMENTS]
Added $mech->content_unlike and $mech->title_unlike
Made the reporting of where the error happened reflect the caller's
code.
0.06 Thu Sep 30 21:49:08 CDT 2004
------------------------------------
[ENHANCEMENTS]
New funcs
- page_links_content_like()
- page_links_content_unlike()
- link_content_like()
- link_content_unlike()
- link_status_isnt()
0.04 Mon Jul 12 22:16:10 CDT 2004
------------------------------------
[THINGS THAT MAY BREAK YOUR CODE]
Renamed link_status() to link_status_is().
[FIXES]
Fixed a bug in link_status_is().
0.02 July 4 2004
------------------------------------
[ENHANCEMENTS]
Added links_ok() and page_links_ok() methods. Thanks to Shawn
Sorichetti.
0.01 Mon Jun 28 16:38:45 CDT 2004
------------------------------------
First version, released on an unsuspecting world.