1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 18:36:58 +01:00
psalm/tests/Internal/Codebase/InternalCallMapHandlerTest.php

27 lines
1.1 KiB
PHP
Raw Normal View History

<?php
2021-09-23 19:29:15 +02:00
namespace Psalm\Tests\Internal\Codebase;
use Psalm\Internal\Codebase\InternalCallMapHandler;
2021-12-03 20:11:20 +01:00
use Psalm\Tests\TestCase;
2021-12-03 20:11:20 +01:00
class InternalCallMapHandlerTest extends TestCase
{
/**
2022-01-11 16:45:29 +01:00
* @covers \Psalm\Internal\Codebase\InternalCallMapHandler::getCallMap
*/
public function testGetcallmapReturnsAValidCallmap(): void
{
$callMap = InternalCallMapHandler::getCallMap();
self::assertArrayKeysAreStrings($callMap, "Returned CallMap has non-string keys");
self::assertArrayValuesAreArrays($callMap, "Returned CallMap has non-array values");
foreach ($callMap as $function => $signature) {
self::assertArrayKeysAreZeroOrString($signature, "Function " . $function . " in returned CallMap has invalid keys");
self::assertArrayValuesAreStrings($signature, "Function " . $function . " in returned CallMap has non-string values");
foreach ($signature as $type) {
self::assertStringIsParsableType($type, "Function " . $function . " in returned CallMap contains invalid type declaration " . $type);
}
}
}
}