--- /dev/null
+#!perl -T
+
+use warnings;
+use strict;
+use Test::More;
+
+BEGIN {
+ eval 'use Test::Warn';
+ plan skip_all => 'Test::Warn required to test warn' if $@;
+ plan tests => 6;
+}
+
+BEGIN {
+ use_ok( 'WWW::Mechanize' );
+}
+
+my $m = WWW::Mechanize->new;
+isa_ok( $m, 'WWW::Mechanize' );
+
+warning_like {
+ $m->warn( 'Something bad' );
+} qr[Something bad.+line \d+], 'Passes the message, and includes the line number';
+
+warning_like {
+ $m->quiet(1);
+ $m->warn( 'Something bad' );
+} undef, 'Quiets correctly';
+
+my $hushed = WWW::Mechanize->new( quiet => 1 );
+isa_ok( $hushed, 'WWW::Mechanize' );
+warning_like {
+ $hushed->warn( 'Something bad' );
+} undef, 'Quiets correctly';