Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I am writing a test using Test::More and is_deeply where the expected result has a string with control characters, as in the following example:

use Test::More; use Data::Dumper; $Data::Dumper::Useqq = 1; my $expect = "\a"; my $got = "\b"; is_deeply($got, $expect, "example test") or diag "got: " . Dumper($got) . " expected: " . Dumper($expect);

When the test fails, is_deeply prints the values. As they are not human readable, it is difficult to see the difference. In this case the impact on the terminal is minimal but with arbitrary data it can be quite disruptive.

While I can add diagnostics using Data::Dumper or other serialization, as in the example above, this doesn't stop is_deeply printing the binary data and potentially corrupting the terminal display.

There does not appear to be a provision in Test::More to have is_deeply serialize the values to human readable form.

I tried searching, but was overwhelmed with irrelevant results and was unsuccessful trying to narrow the search, so pointers or suggestions would be much appreciated.


In reply to Test::More is_deeply and binary data by ig

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (4)
As of 2024-03-28 13:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found