HEX
Server: Apache
System: Linux nc-ph-0707-26.instaforreviews.com 3.10.0-1160.119.1.el7.tuxcare.els13.x86_64 #1 SMP Fri Nov 22 06:29:45 UTC 2024 x86_64
User: qirgxuo4hkuv (1004)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: //.cpanm/latest-build/Encode-3.16/t/Unicode_trailing_nul.t
use strict;
use Test::More;

use Encode;
use File::Temp;
use File::Spec;

# This test relies on https://github.com/Perl/perl5/issues/10623;
# if that bug is ever fixed then this test may never fail again.

my $foo = Encode::decode("UTF-16LE", "/\0v\0a\0r\0/\0f\0f\0f\0f\0f\0f\0/\0u\0s\0e\0r\0s\0/\0s\0u\0p\0e\0r\0m\0a\0n\0");

my ($fh, $path) = File::Temp::tempfile( CLEANUP => 1 );

diag "temp file: $path";

# Perl gives the internal PV to exec .. which is buggy/wrong but
# useful here:
system( $^X, '-e', "open my \$fh, '>>', '$path' or die \$!; print {\$fh} \$ARGV[0]", $foo );
die if $?;

my $output = do { local $/; <$fh> };

is( $output, "/var/ffffff/users/superman", 'UTF-16 decodes with trailing NUL' );

done_testing();