File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -556,7 +556,7 @@ exists on this method.
556556
557557sub BINMODE {
558558 my ($self ) = @_ ;
559- return ;
559+ return 1 ;
560560}
561561
562562=head2 OPEN
Original file line number Diff line number Diff line change 1+ # !/usr/bin/perl -w
2+
3+ use strict;
4+ use warnings;
5+
6+ use Test2::Bundle::Extended;
7+ use Test2::Tools::Explain;
8+ use Test2::Plugin::NoWarnings;
9+
10+ use Test::MockFile ();
11+
12+ subtest ' binmode returns true on mocked filehandle' => sub {
13+ my $mock = Test::MockFile-> file( ' /tmp/binmode_test' , " hello world" );
14+
15+ open my $fh , ' <' , ' /tmp/binmode_test' or die " open: $! " ;
16+ my $ret = binmode ($fh );
17+ ok( $ret , ' binmode() returns a true value on mocked filehandle' );
18+ close $fh ;
19+ };
20+
21+ subtest ' binmode with encoding layer returns true' => sub {
22+ my $mock = Test::MockFile-> file( ' /tmp/binmode_enc' , " hello world" );
23+
24+ open my $fh , ' <' , ' /tmp/binmode_enc' or die " open: $! " ;
25+ my $ret = binmode ( $fh , ' :utf8' );
26+ ok( $ret , ' binmode($fh, ":utf8") returns a true value on mocked filehandle' );
27+ close $fh ;
28+ };
29+
30+ subtest ' binmode or die pattern works' => sub {
31+ my $mock = Test::MockFile-> file( ' /tmp/binmode_die' , " content" );
32+
33+ open my $fh , ' <' , ' /tmp/binmode_die' or die " open: $! " ;
34+ my $lived = eval {
35+ binmode ($fh ) or die " binmode failed: $! " ;
36+ 1;
37+ };
38+ ok( $lived , ' binmode($fh) or die does not die on mocked filehandle' );
39+ close $fh ;
40+ };
41+
42+ done_testing();
You can’t perform that action at this time.
0 commit comments