The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w

BEGIN {
	chdir 't' if -d 't';
	push @INC, '../blib/lib';
}

use strict;

use Test::More tests => 3;

# example 
	use Regexp::English;

	my $re = Regexp::English
		-> start_of_line
		-> literal('Flippers')
		-> literal(':')
		-> optional
			-> whitespace_char
		-> end
		-> remember
			-> multiple
				-> digit;
# example

ok( my $match = $re->match('Flippers: 123'), 'basic example should work' );
is( $match, '123', '... and should remember multiple digits' );

# now be very clever and match this example against Regexp::English itself
# though Inline::Tests handles this much more nicely

my $filepath = $INC{'Regexp/English.pm'};
local *MODULE;
my $module;
if (-e $filepath) {
	if (open(MODULE, $filepath)) {
		$module = do { local $/ = <MODULE> };
		$module =~ s/.+SYNOPSIS//s;
		$module =~ s/=head1.+//s;
		$module =~ tr/\t\n / /s;
	}
}

seek(DATA, 0, 0);
my $testfile = do { local $/; <DATA> };
$testfile =~ s/.+?# example/\t/s;
$testfile =~ s/# example.+//s;
$testfile =~ tr/\t\n / /s;
$testfile = quotemeta($testfile);

SKIP: {
	skip('Could not file Regexp::English file', 1) unless $module;
	like( $module, qr/$testfile/, 
		'test example should match the one in module' );
}

__DATA__