From a22a90dff1f78e4c48d126e0ef041653c025fcd5 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 3 May 2017 13:49:48 +0200 Subject: v2.2.0 --- php-horde-Horde-Compress-pr219.patch | 103 +++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 php-horde-Horde-Compress-pr219.patch (limited to 'php-horde-Horde-Compress-pr219.patch') diff --git a/php-horde-Horde-Compress-pr219.patch b/php-horde-Horde-Compress-pr219.patch new file mode 100644 index 0000000..1fd0c76 --- /dev/null +++ b/php-horde-Horde-Compress-pr219.patch @@ -0,0 +1,103 @@ +From ea2a862f0a0b3bc8cedb9adf160f18892d152984 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Wed, 3 May 2017 13:29:53 +0200 +Subject: [PATCH] don't rely on directory entries order + +--- + framework/Compress/test/Horde/Compress/TarTest.php | 24 ++++++++++++++-------- + framework/Compress/test/Horde/Compress/ZipTest.php | 24 ++++++++++++++-------- + 2 files changed, 30 insertions(+), 18 deletions(-) + +diff --git a/framework/Compress/test/Horde/Compress/TarTest.php b/framework/Compress/test/Horde/Compress/TarTest.php +index 1875f8b..82ba8a1 100644 +--- a/framework/Compress/test/Horde/Compress/TarTest.php ++++ b/framework/Compress/test/Horde/Compress/TarTest.php +@@ -112,14 +112,20 @@ public function testTarDirectory() + + $list = $compress->decompress($tar_data); + $this->assertCount(3, $list); +- $this->assertEquals('one.txt', $list[0]['name']); +- $this->assertEquals(4, $list[0]['size']); +- $this->assertEquals("One\n", $list[0]['data']); +- $this->assertEquals('sub/three.txt', $list[1]['name']); +- $this->assertEquals(6, $list[1]['size']); +- $this->assertEquals("Three\n", $list[1]['data']); +- $this->assertEquals('two.bin', $list[2]['name']); +- $this->assertEquals(2, $list[2]['size']); +- $this->assertEquals("\x02\x0a", $list[2]['data']); ++ for ($i=0 ; $i<3 ; $i++) { ++ $list[$list[$i]['name']] = $list[$i]; ++ unset($list[$i]); ++ } ++ $this->assertArrayHasKey($k='one.txt', $list); ++ $this->assertEquals(4, $list[$k]['size']); ++ $this->assertEquals("One\n", $list[$k]['data']); ++ ++ $this->assertArrayHasKey($k='sub/three.txt', $list); ++ $this->assertEquals(6, $list[$k]['size']); ++ $this->assertEquals("Three\n", $list[$k]['data']); ++ ++ $this->assertArrayHasKey($k='two.bin', $list); ++ $this->assertEquals(2, $list[$k]['size']); ++ $this->assertEquals("\x02\x0a", $list[$k]['data']); + } + } +diff --git a/framework/Compress/test/Horde/Compress/ZipTest.php b/framework/Compress/test/Horde/Compress/ZipTest.php +index 7e215b2..25729b6 100644 +--- a/framework/Compress/test/Horde/Compress/ZipTest.php ++++ b/framework/Compress/test/Horde/Compress/ZipTest.php +@@ -143,39 +143,45 @@ public function testZipDirectory() + $zip_data, array('action' => Horde_Compress_Zip::ZIP_LIST) + ); + $this->assertCount(3, $list); +- $this->assertEquals('one.txt', $list[0]['name']); +- $this->assertEquals(4, $list[0]['size']); +- $this->assertEquals('sub/three.txt', $list[1]['name']); +- $this->assertEquals(6, $list[1]['size']); +- $this->assertEquals('two.bin', $list[2]['name']); +- $this->assertEquals(2, $list[2]['size']); ++ for ($i=0 ; $i<3 ; $i++) { ++ $index[$list[$i]['name']] = $i; ++ } + ++ $this->assertArrayHasKey($k='one.txt', $index); ++ $this->assertEquals($k, $list[$index[$k]]['name']); ++ $this->assertEquals(4, $list[$index[$k]]['size']); + $data = $compress->decompress( + $zip_data, + array( + 'action' => Horde_Compress_Zip::ZIP_DATA, + 'info' => $list, +- 'key' => 0 ++ 'key' => $index[$k] + ) + ); + $this->assertEquals("One\n", $data); + ++ $this->assertArrayHasKey($k='sub/three.txt', $index); ++ $this->assertEquals($k, $list[$index[$k]]['name']); ++ $this->assertEquals(6, $list[$index[$k]]['size']); + $data = $compress->decompress( + $zip_data, + array( + 'action' => Horde_Compress_Zip::ZIP_DATA, + 'info' => $list, +- 'key' => 1 ++ 'key' => $index[$k] + ) + ); + $this->assertEquals("Three\n", $data); + ++ $this->assertArrayHasKey($k='two.bin', $index); ++ $this->assertEquals('two.bin', $list[$index[$k]]['name']); ++ $this->assertEquals(2, $list[$index[$k]]['size']); + $data = $compress->decompress( + $zip_data, + array( + 'action' => Horde_Compress_Zip::ZIP_DATA, + 'info' => $list, +- 'key' => 2 ++ 'key' => $index[$k] + ) + ); + $this->assertEquals("\x02\x0a", $data); -- cgit