Test::LongString man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Test::LongString(3)   User Contributed Perl Documentation  Test::LongString(3)

NAME
       Test::LongString - tests strings for equality, with more helpful
       failures

SYNOPSIS
	   use Test::More tests => 1;
	   use Test::LongString;
	   like_string( $html, qr/(perl|cpan)\.org/ );

	   #	 Failed test (html-test.t at line 12)
	   #	      got: "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Trans"...
	   #	   length: 58930
	   #	 doesn't match '(?-xism:(perl|cpan)\.org)'

DESCRIPTION
       This module provides some drop-in replacements for the string
       comparison functions of Test::More, but which are more suitable when
       you test against long strings.  If you've ever had to search for text
       in a multi-line string like an HTML document, or find specific items in
       binary data, this is the module for you.

FUNCTIONS
   is_string( $string, $expected [, $label ] )
       "is_string()" is equivalent to "Test::More::is()", but with more
       helpful diagnostics in case of failure.

       ·   It doesn't print the entire strings in the failure message.

       ·   It reports the lengths of the strings that have been compared.

       ·   It reports the length of the common prefix of the strings.

       ·   It reports the line and column the strings started to differ on.

       ·   In the diagnostics, non-ASCII characters are escaped as "\x{xx}".

       For example:

	   is_string( $soliloquy, $juliet );

	   #	 Failed test (soliloquy.t at line 15)
	   #	      got: "To be, or not to be: that is the question:\x{0a}Whether"...
	   #	   length: 1490
	   #	 expected: "O Romeo, Romeo,\x{0a}wherefore art thou Romeo?\x{0a}Deny thy"...
	   #	   length: 154
	   #	 strings begin to differ at char 1 (line 1 column 1)

   is_string_nows( $string, $expected [, $label ] )
       Like "is_string()", but removes whitepace (in the "\s" sense) from the
       arguments before comparing them.

   like_string( $string, qr/regex/ [, $label ] )
   unlike_string( $string, qr/regex/ [, $label ] )
       "like_string()" and "unlike_string()" are replacements for
       "Test::More:like()" and "unlike()" that only print the beginning of the
       received string in the output.  Unfortunately, they can't print out the
       position where the regex failed to match.

	   like_string( $soliloquy, qr/Romeo|Juliet|Mercutio|Tybalt/ );

	   #	 Failed test (soliloquy.t at line 15)
	   #	      got: "To be, or not to be: that is the question:\x{0a}Whether"...
	   #	   length: 1490
	   #	 doesn't match '(?-xism:Romeo|Juliet|Mercutio|Tybalt)'

   contains_string( $string, $substring [, $label ] )
       "contains_string()" searches for $substring in $string.	It's the same
       as "like_string()", except that it's not a regular expression search.

	   contains_string( $soliloquy, "Romeo" );

	   #	 Failed test (soliloquy.t at line 10)
	   #	     searched: "To be, or not to be: that is the question:\x{0a}Whether"...
	   #   and can't find: "Romeo"

       As of version 0.12, "contains_string()" will also report the Longest
       Common SubString (LCSS) found in $string and, if the LCSS is short
       enough, the surroundings will also be shown under LCSS Context. This
       should help debug tests for really long strings like HTML output, so
       you'll get something like:

	  contains_string( $html, '<div id="MainContent">' );
	  #   Failed test at t/foo.t line 10.
	  #	searched: "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stric"...
	  #   can't find: "<div id="MainContent">"
	  #	    LCSS: "ainContent""
	  # LCSS context: "dolor sit amet</span>\x{0a}<div id="mainContent" class="

       You can turn off LCSS reporting by setting $Test::LongString::LCSS to
       0, or by specifying an argument to "use":

	   use Test::LongString lcss => 0;

   lacks_string( $string, $substring [, $label ] )
       "lacks_string()" makes sure that $substring does NOT exist in $string.
       It's the same as "like_string()", except that it's not a regular
       expression search.

	   lacks_string( $soliloquy, "slings" );

	   #	 Failed test (soliloquy.t at line 10)
	   #	     searched: "To be, or not to be: that is the question:\x{0a}Whether"...
	   #	    and found: "slings"
	   #	  at position: 147 (line 3 column 4)

CONTROLLING OUTPUT
       By default, only the first 50 characters of the compared strings are
       shown in the failure message.  This value is in $Test::LongString::Max,
       and can be set at run-time.

       You can also set it by specifying an argument to "use":

	   use Test::LongString max => 100;

       When the compared strings begin to differ after a large prefix,
       Test::LongString will not print them from the beginning, but will start
       at the middle, more precisely at $Test::LongString::Context characters
       before the first difference. By default this value is 10 characters. If
       you want Test::LongString to always print the beginning of compared
       strings no matter where they differ, undefine
       $Test::LongString::Context.

       When computing line numbers this module uses "\n" to count line
       endings. This may not be appropriate for strings on your platform, and
       can be overriden by setting the $Test::LongString::EOL variable to a
       suitable regular expression (either a reference to a regular expression
       or a string that can be interpolated into a regular expression.)

       You can also set it by specifying an argument to "use":

	   use Test::LongString eol => "\x{0a}\x{0c}";

AUTHOR
       Written by Rafael Garcia-Suarez. Thanks to Mark Fowler (and to Joss
       Whedon) for the inspirational Acme::Test::Buffy. Thanks to Andy Lester
       for lots of patches.

       This program is free software; you may redistribute it and/or modify it
       under the same terms as Perl itself.

       A git repository for this module is available at

	   git://github.com/rgs/Test-LongString.git

SEE ALSO
       Test::Builder, Test::Builder::Tester, Test::More.

perl v5.14.1			  2011-02-05		   Test::LongString(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net