folderweb/devel/tests/cache/build_cache_key.phpt

50 lines
1.2 KiB
Text
Raw Permalink Normal View History

--TEST--
buildCacheKey: returns md5 string, varies by path and langPrefix
--FILE--
<?php
require '/var/www/app/cache.php';
$dir = sys_get_temp_dir() . '/phpt_cachekey_' . getmypid();
mkdir($dir);
$file = "$dir/page.md";
file_put_contents($file, '# Hello');
// Returns a 32-char hex string
$key = buildCacheKey($file);
echo (bool)preg_match('/^[0-9a-f]{32}$/', $key) ? 'valid md5' : 'invalid';
echo "\n";
// Same inputs produce same key
echo ($key === buildCacheKey($file)) ? 'stable' : 'unstable';
echo "\n";
// Different langPrefix produces different key
$keyFr = buildCacheKey($file, '/fr');
echo ($key !== $keyFr) ? 'prefix differs' : 'prefix same';
echo "\n";
// Different file path produces different key
$file2 = "$dir/other.md";
file_put_contents($file2, '# Other');
$key2 = buildCacheKey($file2);
echo ($key !== $key2) ? 'path differs' : 'path same';
echo "\n";
// Adding metadata.ini changes the key
file_put_contents("$dir/metadata.ini", "title = Test\n");
$keyWithMeta = buildCacheKey($file);
echo ($key !== $keyWithMeta) ? 'meta invalidates' : 'meta ignored';
echo "\n";
unlink($file);
unlink($file2);
unlink("$dir/metadata.ini");
rmdir($dir);
?>
--EXPECT--
valid md5
stable
prefix differs
path differs
meta invalidates