| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/prod1.wondermakr.com/phpmyadmin/test/classes/ |
Upload File : |
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests;
use DateTime;
use PhpMyAdmin\OpenDocument;
use PhpMyAdmin\ZipExtension;
use ZipArchive;
use function file_put_contents;
use function tempnam;
use function unlink;
/**
* @covers \PhpMyAdmin\OpenDocument
* @requires extension zip
*/
class OpenDocumentTest extends AbstractTestCase
{
public function testCreateDocument(): void
{
$document = OpenDocument::create(
'application/vnd.oasis.opendocument.text',
'<data>'
);
self::assertNotFalse($document);
$tmpFile = tempnam('./', 'open-document-test');
self::assertNotFalse($tmpFile);
self::assertNotFalse(file_put_contents($tmpFile, $document), 'The temp file should be written');
$zipExtension = new ZipExtension(new ZipArchive());
self::assertSame([
'error' => '',
'data' => 'application/vnd.oasis.opendocument.text',
], $zipExtension->getContents($tmpFile));
self::assertSame([
'error' => '',
'data' => '<data>',
], $zipExtension->getContents($tmpFile, '/content\.xml/'));
$dateTimeCreation = (new DateTime())->format('Y-m-d\TH:i');
self::assertStringContainsString(
// Do not use a full version or seconds could be out of sync and cause flaky test failures
'<meta:creation-date>' . $dateTimeCreation,
$zipExtension->getContents($tmpFile, '/meta\.xml/')['data']
);
self::assertSame(5, $zipExtension->getNumberOfFiles($tmpFile));
// Unset to close any file that were left open.
unset($zipExtension);
self::assertTrue(unlink($tmpFile));
}
}