xref: /PHP-8.0/ext/zip/tests/oo_setmtime.phpt (revision 0c6d06ec)
1--TEST--
2setMtime
3--SKIPIF--
4<?php
5/* $Id$ */
6if(!extension_loaded('zip')) die('skip');
7if (!method_exists('ZipArchive', 'setMtimeName')) die('skip libzip too old');
8?>
9--INI--
10date.timezone=UTC
11--FILE--
12<?php
13$dirname = dirname(__FILE__) . '/';
14include $dirname . 'utils.inc';
15$file = $dirname . '__tmp_oo_set_mtime.zip';
16
17@unlink($file);
18
19$zip = new ZipArchive;
20if (!$zip->open($file, ZIPARCHIVE::CREATE)) {
21    exit('failed');
22}
23
24$zip->addFromString('foo', 'entry #1');
25$zip->addFromString('bar', 'entry #2');
26
27$t1 = mktime(0,0,0,12,25,2019);
28$t2 = mktime(0,0,0,14,7,2018);
29
30echo "Set 1\n";
31$s = $zip->statName('foo');
32var_dump($s['mtime'] > $t1);
33var_dump($zip->setMtimeName('foo', $t1));
34$s = $zip->statName('foo');
35// ONLY with 1.6.0 - var_dump($s['mtime'] ==  $t1);
36
37echo "Set 2\n";
38$s = $zip->statIndex(1);
39var_dump($s['mtime'] > $t2);
40var_dump($zip->setMtimeIndex(1, $t2));
41$s = $zip->statIndex(1);
42// ONLY with 1.6.0 - var_dump($s['mtime'] ==  $t2);
43
44if (!$zip->status == ZIPARCHIVE::ER_OK) {
45    echo "failed to write zip\n";
46}
47$zip->close();
48
49if (!$zip->open($file)) {
50    @unlink($file);
51    exit('failed');
52}
53
54echo "Get 1\n";
55$s = $zip->statIndex(0);
56var_dump($s['mtime'] ==  $t1);
57
58echo "Get 2\n";
59$s = $zip->statName('bar');
60var_dump($s['mtime'] ==  $t2);
61
62$zip->close();
63@unlink($file);
64
65?>
66--EXPECT--
67Set 1
68bool(true)
69bool(true)
70Set 2
71bool(true)
72bool(true)
73Get 1
74bool(true)
75Get 2
76bool(true)
77