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);