57 lines
1.5 KiB
PHP
57 lines
1.5 KiB
PHP
--TEST--
|
|
buildBreadcrumbs: builds breadcrumb array for level 3+ path
|
|
--FILE--
|
|
<?php
|
|
require '/var/www/app/context.php';
|
|
require '/var/www/app/hooks.php';
|
|
require '/var/www/app/constants.php';
|
|
require '/var/www/app/helpers.php';
|
|
require '/var/www/app/content.php';
|
|
|
|
// Create temp directory structure
|
|
$tempBase = sys_get_temp_dir() . '/phpt_' . getmypid();
|
|
$tempContent = $tempBase . '/content';
|
|
$tempLevel1 = $tempContent . '/nyheter';
|
|
$tempLevel2 = $tempLevel1 . '/riksrevisjonen';
|
|
|
|
mkdir($tempLevel1, 0777, true);
|
|
mkdir($tempLevel2, 0777, true);
|
|
|
|
// Create metadata files
|
|
file_put_contents($tempLevel1 . '/metadata.ini', "title = Nyheter\nslug = nyheter\n");
|
|
file_put_contents($tempLevel2 . '/metadata.ini', "title = Riksrevisjonen\nslug = riksrevisjonen\n");
|
|
|
|
$ctx = new Context(
|
|
contentDir: $tempContent,
|
|
templates: new Templates('/tmp/base.php', '/tmp/page.php', '/tmp/list.php'),
|
|
requestPath: 'nyheter/riksrevisjonen/artikkel',
|
|
hasTrailingSlash: false
|
|
);
|
|
|
|
$result = buildBreadcrumbs($ctx);
|
|
|
|
// Output count and first item details
|
|
echo count($result) . "\n";
|
|
if (count($result) > 0) {
|
|
echo $result[0]['title'] . "\n";
|
|
echo $result[0]['url'] . "\n";
|
|
}
|
|
if (count($result) > 1) {
|
|
echo $result[1]['title'] . "\n";
|
|
echo $result[1]['url'] . "\n";
|
|
}
|
|
|
|
// Cleanup
|
|
unlink($tempLevel2 . '/metadata.ini');
|
|
unlink($tempLevel1 . '/metadata.ini');
|
|
rmdir($tempLevel2);
|
|
rmdir($tempLevel1);
|
|
rmdir($tempContent);
|
|
rmdir($tempBase);
|
|
?>
|
|
--EXPECT--
|
|
2
|
|
Nyheter
|
|
/nyheter/
|
|
Riksrevisjonen
|
|
/riksrevisjonen/
|