diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2021-01-26 19:15:00 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2021-01-26 19:15:37 +0100 |
commit | 01a348617f1fc4f81b362c8a994aeb8cce844e23 (patch) | |
tree | 19610d712612e4bd0be801167e676cecfc69f9d2 /ext/phar/tests | |
parent | 372fb75b689e94cff886075a9795789f3655a93d (diff) | |
parent | 6a0b889f57b5f3c6b72253c0919eab10c7496263 (diff) | |
download | php-git-01a348617f1fc4f81b362c8a994aeb8cce844e23.tar.gz |
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
Fix #70091: Phar does not mark UTF-8 filenames in ZIP archives
Diffstat (limited to 'ext/phar/tests')
-rw-r--r-- | ext/phar/tests/bug70091.phpt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/ext/phar/tests/bug70091.phpt b/ext/phar/tests/bug70091.phpt new file mode 100644 index 0000000000..893b2eec4e --- /dev/null +++ b/ext/phar/tests/bug70091.phpt @@ -0,0 +1,60 @@ +--TEST-- +Bug #70091 (Phar does not mark UTF-8 filenames in ZIP archives) +--SKIPIF-- +<?php +if (!extension_loaded('phar')) die('skip phar extension not available'); +if (!extension_loaded('zlib')) die('skip zlib extension not available'); +?> +--FILE-- +<?php +$phar = new PharData(__DIR__ . '/bug70091.zip'); +$phar->addFromString('föö', ''); +$phar->addFromString('foo', ''); +unset($phar); + +$stream = fopen(__DIR__ . '/bug70091.zip', 'r'); + +$data = fread($stream, 8); +var_dump(unpack('H8sig/@6/nflags', $data)); + +fseek($stream, 53); +$data = fread($stream, 8); +var_dump(unpack('H8sig/@6/nflags', $data)); + +fseek($stream, 104); +$data = fread($stream, 10); +var_dump(unpack('H8sig/@8/nflags', $data)); + +fseek($stream, 173); +$data = fread($stream, 10); +var_dump(unpack('H8sig/@8/nflags', $data)); +?> +--EXPECT-- +array(2) { + ["sig"]=> + string(8) "504b0304" + ["flags"]=> + int(8) +} +array(2) { + ["sig"]=> + string(8) "504b0304" + ["flags"]=> + int(8) +} +array(2) { + ["sig"]=> + string(8) "504b0102" + ["flags"]=> + int(8) +} +array(2) { + ["sig"]=> + string(8) "504b0102" + ["flags"]=> + int(8) +} +--CLEAN-- +<?php +@unlink(__DIR__ . '/bug70091.zip'); +?> |