From 5f0edceddab88f91bec7fecf5efa606bbe273fb2 Mon Sep 17 00:00:00 2001
From: Andreas Gohr <andi@splitbrain.org>
Date: Tue, 30 Jul 2013 10:15:57 +0200
Subject: [PATCH] added test case for FS#1442

---
 _test/tests/inc/tar.test.php | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/_test/tests/inc/tar.test.php b/_test/tests/inc/tar.test.php
index 90bc2e49e..28e709cc3 100644
--- a/_test/tests/inc/tar.test.php
+++ b/_test/tests/inc/tar.test.php
@@ -248,6 +248,28 @@ class Tar_TestCase extends DokuWikiTest {
         }
     }
 
+    // FS#1442
+    public function test_createlongfile() {
+        $tar = new Tar();
+        $tmp = tempnam(sys_get_temp_dir(), 'dwtartest');
+
+        $path = '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.txt';
+
+        $tar->create($tmp, Tar::COMPRESS_NONE);
+        $tar->addData($path, 'testcontent1');
+        $tar->close();
+
+        $this->assertTrue(filesize($tmp) > 30); //arbitrary non-zero number
+        $data = file_get_contents($tmp);
+
+        // We should find the complete path and a longlink entry
+        $this->assertTrue(strpos($data, 'testcontent1') !== false, 'content in TAR');
+        $this->assertTrue(strpos($data, $path) !== false, 'path in TAR');
+        $this->assertTrue(strpos($data, '@LongLink') !== false, '@LongLink in TAR');
+
+        @unlink($tmp);
+    }
+
     public function test_createlongpathustar() {
         $tar = new Tar();
         $tmp = tempnam(sys_get_temp_dir(), 'dwtartest');
@@ -360,4 +382,4 @@ class Tar_TestCase extends DokuWikiTest {
 
         $this->assertEquals(512*4, strlen($file)); // 1 header block + data block + 2 footer blocks
     }
-}
\ No newline at end of file
+}
-- 
GitLab